<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國際加速解決方案。 廣告
                ### 一個參數的時候 ~~~javascript var f = v => v; // 等同于 var f = function (v) { return v; }; ~~~ ### 多個參數或者沒有參數的時候 * 使用一個圓括號代表參數部分。 ~~~javascript var f = () => 5; // 等同于 var f = function () { return 5 }; var sum = (num1, num2) => num1 + num2; // 等同于 var sum = function(num1, num2) { return num1 + num2; }; ~~~ * 如果箭頭函數的代碼塊部分多于一條語句,就要使用大括號將它們括起來,并且使用`return`語句返回。 ``` var sum = (num1, num2) => { num1 = 100; return num1 + num2; }; console.log(sum(1, 1)); ``` ### 箭頭函數可以與變量解構結合使用 ```javascript let person = { first: "wang", last: "yijia" }; const full = ({ first, last }) \=> first + " " + last; console.log(full(person)); ``` ### 可以簡化回調函數 ~~~javascript // 正常函數寫法 [1,2,3].map(function (x) { return x * x; }); // 箭頭函數寫法 [1,2,3].map(x => x * x); ~~~ ### 尖頭函數中的this * 函數體內的`this`對象,就是定義時所在的對象,而不是使用時所在的對象。 請問下面的代碼之中有幾個`this`? ~~~javascript function foo() { return () => { return () => { return () => { console.log('id:', this.id); }; }; }; } var f = foo.call({id: 1}); var t1 = f.call({id: 2})()(); // id: 1 var t2 = f().call({id: 3})(); // id: 1 var t3 = f()().call({id: 4}); // id: 1 ~~~ 上面代碼之中,只有一個`this`,就是函數`foo`的`this`,所以`t1`、`t2`、`t3`都輸出同樣的結果。因為所有的內層函數都是箭頭函數,都沒有自己的`this`,它們的`this`其實都是最外層`foo`函數的`this`。不能用`call()`、`apply()`、`bind()`這些方法去改變`this`的指向。 ### 擴展:關于call和apply * 都是用于動態改變this的指向。只是參數不一樣。 ~~~javascipt function fun(arg1, arg2, ...){ // Your code ... } fun.call(this, arg1, arg2, ...) fun.apply(this, [arg1, arg2, ...]) ~~~
                  <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>

                              哎呀哎呀视频在线观看