如何理解和熟練運用js中的call及apply

2021-09-17 02:15:49 字數 516 閱讀 7097

function cat() {}

cat.prototype =

}var blackcat = new cat;

blackcat.say();

用的比較多的,通過document.getelementsbytagname選擇的dom 節點是一種類似array的array。它不能應用array下的push,pop等方法。我們可以通過:

var domnodes = array.prototype.slice.call(document.getelementsbytagname("*"));

這樣domnodes就可以應用array下的所有方法了。

二者的作用完全一樣,只是接受引數的方式不太一樣。例如,有乙個函式 func1 定義如下:

var func1 = function(arg1, arg2) {};
這些的話也就能明白它倆的用處以及它們定義。

我也是從知乎大牛的回答裡面看到然後總結下來的。

如何理解和熟練運用js中的call及apply?

function cat cat.prototype var blackcat new cat blackcat.say 用的比較多的,通過document.getelementsbytagname選擇的dom 節點是一種類似array的array。它不能應用array下的push,pop等方法。我...

如何理解和熟練運用js中的call及apply?

obj.call thisobj,arg1,arg2,兩者作用一致,都是把obj 即this 繫結到thisobj,這時候thisobj具備了obj的屬性和方法。或者說thisobj 繼承 了obj的屬性和方法。繫結後會立即執行函式。function add j,k function sub j,k...

如何理解和熟練運用js中的call及apply?

obj.call thisobj,arg1,arg2,兩者作用一致,都是把obj 即this 繫結到thisobj,這時候thisobj具備了obj的屬性和方法。或者說thisobj 繼承 了obj的屬性和方法。繫結後會立即執行函式。function add j,k function sub j,k...