欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

javascript 筆記

錢淋西1年前6瀏覽0評論
javascript(簡稱JS)是一種高級的編程語言,一種具有與HTML和CSS一樣重要地位的前端編程語言,主要用來為Web頁面添加交互行為,使頁面變得更加生動有趣。在前端開發中,無論是用框架還是純JS開發,熟練使用JS都是必不可少的。 下面我們主要來分享一些關于JS的筆記: 1. 基本數據類型與引用數據類型 在JS中,有6種基本數據類型:string、number、boolean、null、undefined、symbol。基本數據類型在賦值過程時是按值傳遞的。JS還有一種引用數據類型,如Object、Array、Function、Date等,引用數據類型在賦值過程中傳遞的是引用。 例如: ``` let a = 1; let b = a; a = 2; console.log(a); // 2 console.log(b); // 1 let arr1 = [1, 2]; let arr2 = arr1; arr1.push(3); console.log(arr1); // [1, 2, 3] console.log(arr2); // [1, 2, 3] ``` 可以看到,基本數據類型的a值改變后,并不會影響到b的值,因為a和b在賦值時傳遞的是值,而不是引用;而引用類型的arr1改變后,arr2也會跟著改變,因為它們兩者其實都指向同一個內存地址。 2. 變量提升 在JavaScript中,一些變量或函數可以在它們實際定義之前使用,這就是變量提升的特性。變量提升的本質是函數和變量聲明被提升到了作用域的最頂端。例如: ``` console.log(a); // undefined (a被聲明,但沒有初始化,因此為undefined) var a = 1; console.log(a); // 1 console.log(b); // Uncaught ReferenceError: b is not defined let b = 2; console.log(b); ``` 在第一段代碼中,變量a的聲明被提升到了作用域的頂端,因此第一條console語句輸出undefined;而在第二段代碼中,因為b聲明的是let,而let聲明不存在變量提升,所以第一條console語句就會報錯。 3. 事件綁定 在JS中,事件可以通過給DOM元素綁定事件來實現,常用的事件有click、mouseover、mouseout等。例如: `````` 這段代碼中,首先獲取了一個id為btn的按鈕元素,然后對按鈕使用addEventListener方法,當按鈕被點擊時會觸發回調函數。該方法的兩個參數分別為事件類型和事件觸發時執行的函數。 4. 面向對象編程 在JS中,可以通過構造函數來創建對象,也可以使用ES6中新增的class關鍵字創建。下面我們先來看構造函數: ``` function Student(name, age) { this.name = name; this.age = age; this.sayHi = function() { console.log('Hi, 我是' + this.name + ',今年' + this.age + '歲了'); }; } let stu1 = new Student('小明', 20); stu1.sayHi(); ``` 這段代碼中,定義了一個Student構造函數,它有兩個參數name和age,分別代表學生的名字和年齡,然后定義了一個sayHi方法,該方法在被調用時會在控制臺輸出學生的信息。在代碼的最后,我們new了一個stu1對象,并調用了其sayHi方法,控制臺會輸出'Hi, 我是小明,今年20歲了'。 那么使用ES6的class如何創建對象呢?它們實現的方式有點不同: ``` class Student { constructor(name, age) { this.name = name; this.age = age; } sayHi() { console.log('Hi, 我是' + this.name + ',今年' + this.age + '歲了'); } } let stu1 = new Student('小明', 20); stu1.sayHi(); ``` 與構造函數不同,使用class創建類時沒有直接創建方法,而是使用關鍵字constructor來創建類的構造函數。然后,將要綁定的變量們使用this關鍵字進行綁定,并在該函數中定義一個方法。因為方法是放在類的原型中的,所以方法內部不可以使用this綁定到對應實例,因此ES6中Method定義的方法默認會綁定到原型,實例引用。