<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、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                [TOC] >[success] # 使用不具名參數 ~~~ 在使用'js函數'時,'ES5'可以不寫'形參',在函數中用'arguments'數組就可以獲取到'實參','ES6'中形參上 需要寫一個參數'...keys'的方式,這樣寫所有傳遞的'實參'都會成數組的形式。 ~~~ <br/> >[success] ## ES5 和 ES6不具名參數對比 ~~~ let b = [] let c = { d: 2 } function test (){ console.log(arguments) } test('a',b,c) // 等同于 let test = (...keys) => { console.log(keys) } test('a',b,c) 需要'注意'的點,如果函數的形參不止'...keys'一個,并且'...keys'在第一個參數后面,那么'keys' 會把從第二個參數開始后續的所有'實參'生成一個'keys數組',例子如下: function test(a, ...keys) { console.log(keys) } test(1, 2, 3, 4) // [2, 3, 4] ~~~ <br/> >[success] ## ES5 中的不定參數(arguments) ~~~ 'ES5'中可以使用'arguments'參數數組,來獲取'所有參數' ~~~ ~~~ function pick(object) { let result = Object.create(null) // 從第二個參數開始處理(數組下標1) for (let i = 1, len = arguments.length; i < len; i++) { result[arguments[i]] = object[arguments[i]] } return result } let book = { title: "Understanding ES6", author: "Nicholas C. Zakas", year: 2015 } let bookData = pick(book, "author", "year") console.log(book) // 原始對象會有__proto__屬性 console.log(bookData) // pick方法會返回一個純凈的對象(無__proto__屬性) console.log(bookData.author); // "Nicholas C. Zakas" console.log(bookData.year); // 2015 ~~~ <br/> >[success] ## ES6剩余(不定)參數(...keys) ~~~ 下面的'keys'是一個包含所有在'object'之后的參數的'剩余參數'(這與包含所有參數的'arguments'不同, 后者會連第一個參數都包含在內)。這意味著你可以對'keys'從 頭到尾進行迭代,而不需要有所顧慮,在 'function'中可以使用'arguments'參數也可以使用'剩余參數' ~~~ ~~~ function pick(object, ...keys) { let result = Object.create(null); for (let i = 0, len = keys.length; i < len; i++) { // 這里i = 0,因為...keys會把object參數后的所有參數作為一個數組 result[keys[i]] = object[keys[i]] } return result; } ~~~ <br/> >[success] ### 剩余參數的限制條件 ~~~ '剩余參數'有'2'點限制條件: 1. 一個函數只能有一個'剩余參數',并且它必須被'放在參數的最后',下面的列子瀏覽器報錯:Uncaught SyntaxError: Rest parameter must be last formal parameter,翻譯過來就是未捕獲的SyntaxError:'剩余參數'必須是 '最后一個參數' function test(a, ...keys, b) { console.log(a) console.log(keys) console.log(b) } test() 2. '剩余參數'不能在對象的'setter'屬性中使用,因為setter屬性只允許使用'單個參數' let object = { // 語法錯誤:不能在 setter 中使用剩余參數 set name(...value) { // 一些操作 } } object.name = [1,2,3,4,5] ~~~
                  <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>

                              哎呀哎呀视频在线观看