<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ## 一、概述 ### **原始類型** * 數值(number):整數和小數(比如`1`和`3.14`); * 字符串(string):文本(比如`Hello World`); * 布爾值(boolean):表示真偽的兩個特殊值,即`true`(真)和`false`(假); * Symbol(ES6引入):表示獨一無二的值; ### **合成類型** * 對象(object):各種值組成的集合; ### **特殊值** * `undefined`:表示“未定義”或不存在,即由于目前沒有定義,所以此處暫時沒有任何值; * `null`:表示空值,即此處的值為空; ## 二、typeof JavaScript 有三種方法,可以確定一個值到底是什么類型; * `typeof`運算符 * `instanceof`運算符 * `Object.prototype.toString`方法 ~~~ typeof 123 // "number" typeof '123' // "string" typeof false // "boolean" ### 函數返回`function` function f() {} typeof f // "function" ### typeof 可以用來檢查一個沒有聲明的變量 typeof undefined // "undefined" ### 對象返回`object` typeof window // "object" typeof {} // "object" typeof [] // "object" ### `null`返回`object` typeof null // "object" ~~~ ## 三、對象 ### 子類型 * 狹義的對象(object) * 數組(array) * 函數(function) ### 定義 簡單說,對象就是一組“鍵值對”(key-value)的集合,是一種無序的復合數據集合,大括號就定義了一個對象; ~~~ var obj = { foo: 'Hello', bar: 'World' }; ~~~ >[danger] > 1、對象的所有鍵名都是字符串(ES6 又引入了 Symbol 值也可以作為鍵名),所以加不加引號都可以,如果鍵名是數值,會被自動轉為字符串; > 2、對象的每一個鍵名又稱為“屬性”(property),它的“鍵值”可以是任何數據類型。如果一個屬性的值為函數,通常把這個屬性稱為“方法”,它可以像函數那樣調用; > 3、如果屬性的值還是一個對象,就形成了鏈式引用; > 4、屬性可以動態創建,不必在對象聲明時就指定; > 5、屬性讀取和賦值,可以用點運算符,也可以使用方括號運算符; > 6、所有屬性查看:Object.keys; > 7、`delete`命令用于刪除對象的屬性,刪除成功后返回`true`; > 8、屬性是否存在:in 運算符; > 9、屬性的遍歷:for...in 循環; ### with語句 它的作用是操作同一個對象的多個屬性時,提供一些書寫的方便; ~~~ var obj = { p1: 1, p2: 2, }; with (obj) { p1 = 4; p2 = 5; } // 等同于 obj.p1 = 4; obj.p2 = 5; ~~~ ## 四、函數 ### 申明 (1)**function 命令** ~~~ function print(s) { console.log(s); } ~~~ (2)**函數表達式** ~~~ var print = function(s) { console.log(s); }; ~~~ (3)**Function 構造函數** ~~~ var add = new Function( 'x', 'y', 'return x + y' ); // 等同于 function add(x, y) { return x + y; } ~~~ ### 特點 可以把函數賦值給變量和對象的屬性,也可以當作參數傳入其他函數,或者作為函數的結果返回。函數只是一個可以執行的值,此外并無特殊之處; >[danger] JavaScript 語言將函數看作一種值,與其它值(數值、字符串、布爾值等等)地位相同。凡是可以使用值的地方,就能使用函數; ### 屬性 name:函數的`name`屬性返回函數的名字; length:函數的`length`屬性返回函數預期傳入的參數個數,即函數**定義**之中的參數個數; ### 方法 toString:函數的`toString()`方法返回一個字符串,內容是函數的源碼; ### 參數 傳值方式:函數參數如果是原始類型的值(數值、字符串、布爾值),傳遞方式是傳值傳遞(passes by value);如果函數參數是復合類型的值(數組、對象、其他函數),傳遞方式是傳址傳遞(pass by reference); arguments:arguments對象包含了函數運行時的所有參數,arguments[0]就是第一個參數,arguments[1]就是第二個參數,以此類推。這個對象只有在函數體內部,才可以使用;雖然`arguments`很像數組,但它是一個對象。數組專有的方法(比如`slice`和`forEach`),不能在`arguments`對象上直接使用; ### 閉包 閉包簡單理解成“定義在一個函數內部的函數”;閉包的最大用處有兩個,一個是可以讀取外層函數內部的變量,另一個就是讓這些變量始終保持在內存中,即閉包可以使得它誕生環境一直存在; ### 函數表達式 函數定義后立即調用的解決方法; ### eval eval命令接受一個字符串作為參數,并將這個字符串當作語句執行;如果參數字符串無法當作語句運行,那么就會報錯; ## 五、數組 ### 定義 簡單說,數組(array)是按次序排列的一組值,整個數組用方括號表示;本質上,數組屬于一種特殊的對象。`typeof`運算符會返回數組的類型是`object`;數組的特殊性體現在,它的鍵名是按次序排列的一組整數(0,1,2...); ### 特性 1、任何類型的數據,都可以放入數組; 2、于數組成員的鍵名是固定的(默認總是0、1、2...),因此數組不用為每個元素指定鍵名,而對象的每個成員都必須指定鍵名。JavaScript 語言規定,對象的鍵名一律為字符串,所以,數組的鍵名其實也是字符串。之所以可以用數值讀取,是因為非字符串的鍵名會被轉為字符串; 3、對象有兩種讀取成員的方法:點結構(`object.key`)和方括號結構(`object[key]`)。但是,對于數值的鍵名,不能使用點結構; ### 屬性 length:返回數組的成員數量; in:檢查某個鍵名是否存在的運算符`in`,適用于對象,也適用于數組; for...in:循環和數組的遍歷; ### 空位 當數組的某個位置是空元素,即兩個逗號之間沒有任何值,我們稱該數組存在空位(hole);
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看