JavaScript 高級程序設計 4 是一本深入學習 JavaScript 的好書。它介紹了很多高級的 JavaScript 內容。在這本書中,你可以了解到 JavaScript 的原生數據類型、控制結構、函數、對象以及面向對象編程的相關案例等等。
JavaScript 中有六種原生數據類型:Undefined、Null、Boolean、Number、String 和 Symbol。這些類型都在語言規范中被定義,并且可以用 typeof 運算符來檢測一個值的類型。下面是代碼示例:
除了嚴格相等(===)和寬松相等(==)之外,JavaScript 還有兩種相等運算符:Object.is 和 Object.isnt。Object.is 類似于嚴格相等,但有一些細微的差別,如:
Object.isnt 則是 Object.is 的反義詞。這兩個運算符不常用,但在某些情況下會比較有用。
除了 if、else、while、for 等語句外,JavaScript 還有一個非常有用的叫做 switch 的語句。它可以用于多重條件分支,如下所示:
在這段代碼中,expression 可以是任意 JavaScript 表達式。如果 expression 的值等于某個 case 子句中的值,那么該子句下面的語句會被執行,并且 switch 語句會退出。如果找不到匹配的 case 子句,會執行 default 子句。
JavaScript 函數是語言的一等公民。這意味著它們可以像其他值一樣被傳遞、存儲和操作。函數可以定義在全局作用域、函數作用域或塊作用域中,也可以通過箭頭函數來定義。以下是一個簡單的函數定義:
這個函數將返回兩個參數的和。函數的調用方式非常靈活,可以通過變量、對象屬性、數組元素以及 apply 和 call 方法來調用。
JavaScript 對象是一組無序的鍵-值對。它們可以像其他值一樣存儲在變量中,也可以作為函數參數或返回值。對象字面量是創建 JavaScript 對象的最簡單方式之一,如下所示:
這個對象有三個屬性和一個方法。fullName 方法使用 this 關鍵字來引用當前對象,從而返回完整的姓名。
JavaScript 還支持面向對象編程。使用關鍵字 class 可以定義一個類,如下所示:
這個類定義了一個 Person 類,有兩個屬性和兩個訪問器方法。構造函數被用來初始化屬性,而訪問器方法用來獲取或設置屬性值。
總之,JavaScript 高級程序設計 4 是一本非常強大的書籍,它詳細介紹了 JavaScript 中的各個方面。通過學習這本書,您可以更好地理解 JavaScript,并掌握編寫高效、靈活、維護性強的代碼的技能。
JavaScript 中有六種原生數據類型:Undefined、Null、Boolean、Number、String 和 Symbol。這些類型都在語言規范中被定義,并且可以用 typeof 運算符來檢測一個值的類型。下面是代碼示例:
<code> console.log(typeof undefined); // "undefined" console.log(typeof null); // "object",這是語言本身的一個錯誤 console.log(typeof true); // "boolean" console.log(typeof 42); // "number" console.log(typeof "John"); // "string" console.log(typeof Symbol("foo")); // "symbol" </code>
除了嚴格相等(===)和寬松相等(==)之外,JavaScript 還有兩種相等運算符:Object.is 和 Object.isnt。Object.is 類似于嚴格相等,但有一些細微的差別,如:
<code> console.log(Object.is(NaN, NaN)); // true console.log(Object.is(0, -0)); // false </code>
Object.isnt 則是 Object.is 的反義詞。這兩個運算符不常用,但在某些情況下會比較有用。
除了 if、else、while、for 等語句外,JavaScript 還有一個非常有用的叫做 switch 的語句。它可以用于多重條件分支,如下所示:
<code> switch (expression) { case 'banana': console.log('yellow'); break; case 'apple': console.log('red'); break; case 'pear': console.log('green'); break; default: console.log('unknown fruit'); } </code>
在這段代碼中,expression 可以是任意 JavaScript 表達式。如果 expression 的值等于某個 case 子句中的值,那么該子句下面的語句會被執行,并且 switch 語句會退出。如果找不到匹配的 case 子句,會執行 default 子句。
JavaScript 函數是語言的一等公民。這意味著它們可以像其他值一樣被傳遞、存儲和操作。函數可以定義在全局作用域、函數作用域或塊作用域中,也可以通過箭頭函數來定義。以下是一個簡單的函數定義:
<code> function add(a, b) { return a + b; } </code>
這個函數將返回兩個參數的和。函數的調用方式非常靈活,可以通過變量、對象屬性、數組元素以及 apply 和 call 方法來調用。
JavaScript 對象是一組無序的鍵-值對。它們可以像其他值一樣存儲在變量中,也可以作為函數參數或返回值。對象字面量是創建 JavaScript 對象的最簡單方式之一,如下所示:
<code> const person = { firstName: 'John', lastName: 'Doe', age: 42, fullName() { return this.firstName + ' ' + this.lastName; }, }; </code>
這個對象有三個屬性和一個方法。fullName 方法使用 this 關鍵字來引用當前對象,從而返回完整的姓名。
JavaScript 還支持面向對象編程。使用關鍵字 class 可以定義一個類,如下所示:
<code> class Person { constructor(firstName, lastName) { this.firstName = firstName; this.lastName = lastName; } <br> get fullName() { return this.firstName + ' ' + this.lastName; } <br> set fullName(value) { const [firstName, lastName] = value.split(' '); this.firstName = firstName; this.lastName = lastName; } } </code>
這個類定義了一個 Person 類,有兩個屬性和兩個訪問器方法。構造函數被用來初始化屬性,而訪問器方法用來獲取或設置屬性值。
總之,JavaScript 高級程序設計 4 是一本非常強大的書籍,它詳細介紹了 JavaScript 中的各個方面。通過學習這本書,您可以更好地理解 JavaScript,并掌握編寫高效、靈活、維護性強的代碼的技能。
上一篇div 框架 布局