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

                ## 1.bind: * fun.bind(thisArg[, arg1[, arg2[, …]]]) * 他是直接改變這個函數的this指向并且返回一個新的函數,之后再次調用這個函數的時候this都是指向bind綁定的第一個參數。bind傳餐方式跟call方法一致。 * thisArg 當綁定函數被調用時,該參數會作為原函數運行時的 this 指向。當使用new 操作符調用綁定函數時,該參數無效。 * arg1, arg2, … 當綁定函數被調用時,這些參數將置于實參之前傳遞給被綁定的方法。 ## 2.call: * fun.call(thisArg, arg1, arg2, …) * call跟apply的用法幾乎一樣,唯一的不同就是傳遞的參數不同,call只能一個參數一個參數的傳入。 * thisArg: 在fun函數運行時指定的this值。需要注意的是,指定的this值并不一定是該函數執行時真正的this值,如果這個函數處于非嚴格模式下,則指定為null和undefined的this值會自動指向全局對象(瀏覽器中就是window對象),同時值為原始值(數字,字符串,布爾值)的this會指向該原始值的自動包裝對象。 * arg1, arg2, … 指定的參數列表 ## 3.apply * apply則只支持傳入一個數組,哪怕是一個參數也要是數組形式。最終調用函數時候這個數組會拆成一個個參數分別傳入。 * thisArg 在 fun 函數運行時指定的 this 值。需要注意的是,指定的 this 值并不一定是該函數執行時真正的 this 值,如果這個函數處于非嚴格模式下,則指定為 null 或 undefined 時會自動指向全局對象(瀏覽器中就是window對象),同時值為原始值(數字,字符串,布爾值)的 this 會指向該原始值的自動包裝對象。 * argsArray 一個數組或者類數組對象,其中的數組元素將作為單獨的參數傳給 fun 函數。如果該參數的值為null 或 undefined,則表示不需要傳入任何參數。從ECMAScript 5 開始可以使用類數組對象。 ## 四.總結 * 當我們使用一個函數需要改變this指向的時候才會用到callapplybind * 如果你要傳遞的參數不多,則可以使用fn.call(thisObj, arg1, arg2 …) * 如果你要傳遞的參數很多,則可以用數組將參數整理好調用fn.apply(thisObj, [arg1, arg2 …]) 如果你想生成一個新的函數長期綁定某個函數給某個對象使用,則可以使用const newFn = fn.bind(thisObj); newFn(arg1, arg2…) * call和apply第一個參數為null/undefined,函數this指向全局對象,在瀏覽器中是window,在node中是global
                  <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>

                              哎呀哎呀视频在线观看