call 與 apply 在 JavaScript 中有何區別?


在 JavaScript 中,.call 和 .apply 認為是函式物件的方法。

.call 方法

使用 call 方法計算引數數量。它將一個或多個引數作為物件。如需使用 call 方法:

以下為語法

.call(object, “argument1”, “argument2”);

.apply 方法 

若要將陣列作為引數,請使用 .apply。它要求將陣列作為其第 2 個引數。如需使用 apply 方法:

以下為語法

.apply(object, [“argument1”, “argument[]”]);

示例

下面我們來看一個顯示 call 和 apply 兩種方法的示例

<!DOCTYPE html>
<html>
   <head>
      <body>
         <script>
            var p = {
               q: "Hello"
            }
            function showResult(v) {
               document.write(this.q + " " + v);
            }
            showResult.call(p, "Amit"); // one or more objects as argument
            showResult.apply(p, ["World"]); // array as the second argument
         </script>
      </body>
   </head>
</html>

更新於:2020 年 1 月 2 日

266 次瀏覽

開啟你的 事業

完成課程即可獲得認證

開始學習
廣告
© . All rights reserved.