<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>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                ## 一、概述 ### 1.1 生成方法 對象(object)是 JavaScript 語言的核心概念,也是最重要的數據類型。 什么是對象?簡單說,對象就是一組“鍵值對”(key-value)的集合,是一種無序的復合數據集合。 ~~~ var obj = { foo: 'Hello', bar: 'World' }; ~~~ 上面代碼中,大括號就定義了一個對象,它被賦值給變量`obj`,所以變量`obj`就指向一個對象。該對象內部包含兩個鍵值對,第一個鍵值對是`foo: 'Hello'`,其中`foo`是“鍵名”,字符串`Hello`是“鍵值”。鍵名與鍵值之間用冒號分隔。第二個鍵值對是`bar: 'World'`,`bar`是鍵名,`World`是鍵值。兩個鍵值對之間用逗號分隔。 ### 1.2 鍵名 對象的所有鍵名都是字符串。上面的代碼也可以寫成下面這樣。 ~~~ var obj = { 'foo': 'Hello', 'bar': 'World' }; ~~~ 如果鍵名是數值,會被自動轉為字符串。 ~~~ var obj = { 1: 'a', 3.2: 'b', 1e2: true, 1e-2: true, .234: true, 0xFF: true }; obj['100'] // true ~~~ 上面代碼中,對象`obj`的所有鍵名雖然看上去像數值,實際上都被自動轉成了字符串。 如果鍵名不符合標識名的條件(比如第一個字符為數字,或者含有空格或運算符),且也不是數字,則必須加上引號,否則會報錯。 ~~~ // 報錯 var obj = { 1p: 'Hello World' }; // 不報錯 var obj = { '1p': 'Hello World', 'h w': 'Hello World', 'p+q': 'Hello World' }; ~~~ 對象的每一個鍵名又稱為“屬性”(property),它的“鍵值”可以是任何數據類型。如果一個屬性的值為函數,通常把這個屬性稱為“方法”,它可以像函數那樣調用。 ~~~ var obj = { p: function (x) { return 2 * x; } }; obj.p(1) // 2 ~~~ ### 1.3 對象的引用 如果不同的變量名指向同一個對象,那么它們都是這個對象的引用,也就是說指向同一個內存地址。修改其中一個變量,會影響到其他所有變量。 ~~~ var o1 = {}; var o2 = o1; o1.a = 1; o2.a // 1 o2.b = 2; o1.b // 2 ~~~ 上面代碼中,`o1`和`o2`指向同一個對象,因此為其中任何一個變量添加屬性,另一個變量都可以讀寫該屬性。 但是,這種引用只局限于對象,如果兩個變量指向同一個原始類型的值。那么,變量這時都是值的拷貝。 ~~~ var x = 1; var y = x; x = 2; y // 1 ~~~ ## 二、屬性的操作 ### 2.1 屬性的讀取 讀取對象的屬性,有兩種方法,一種是使用點運算符,還有一種是使用方括號運算符。 ~~~ var obj = { p: 'Hello World' }; obj.p // "Hello World" obj['p'] // "Hello World" ~~~ 請注意,如果使用方括號運算符,鍵名必須放在引號里面,否則會被當作變量處理。 ~~~ var foo = 'bar'; var obj = { foo: 1, bar: 2 }; obj.foo // 1 obj[foo] // 2 ~~~ 數字鍵可以不加引號,因為會自動轉成字符串。 ~~~ var obj = { 0.7: 'Hello World' }; obj['0.7'] // "Hello World" obj[0.7] // "Hello World" ~~~ ### 2.2 屬性的賦值 點運算符和方括號運算符,不僅可以用來讀取值,還可以用來賦值。 ~~~ var obj = {}; obj.foo = 'Hello'; obj['bar'] = 'World'; ~~~ JavaScript 允許屬性的“后綁定”,也就是說,你可以在任意時刻新增屬性,沒必要在定義對象的時候,就定義好屬性。 ~~~ var obj = { p: 1 }; // 等價于 var obj = {}; obj.p = 1; ~~~ ### 2.3 屬性的查看 查看一個對象本身的所有屬性,可以使用`Object.keys`方法。 ~~~ var obj = { key1: 1, key2: 2 }; Object.keys(obj); // ['key1', 'key2'] ~~~
                  <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>

                              哎呀哎呀视频在线观看