前端技能練習 call和apply

2021-07-27 10:52:58 字數 1274 閱讀 2595

在w3c網上研究這兩個方法的時候,看到乙個詞語,叫「物件冒充」,這個概念本人覺得還是挺重要的,讓我對這兩個方法理解起來更加直觀。

call()方法,看下官方給出的例子

?

1

2

3

4

5

6

7

8

functionsaycolor(sprefix,ssuffix) ;

varobj =newobject();

obj.color ="blue";

saycolor.call(obj,"the color is ","a very nice color indeed.");

最後輸出的結果是「the color is blue, a very nice color indeed.」

call()方法就是將第乙個引數替換方法中的this,然後後面的引數傳入該方法使用

?

1

2

3

4

5

6

7

8

functionsaycolor(sprefix,ssuffix) ;

varobj =newobject();

obj.color ="blue";

newarray("the color is ","a very nice color indeed."));

最後輸出的結果仍然是「the color is blue, a very nice color indeed.」

深入JavaScript之call和apply方法

其實只要你認真的研究一下,就會發現我和我哥們一點也不難。有些地方沒有咱倆還真不行。要說咱倆有啥用,我管咱倆的功能叫借過來玩一玩。你看下面的例子啊 let cat sleep function time let dog dog.playball i am a doggy,i love playing ...

如何理解和熟練運用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...