在w3c網上研究這兩個方法的時候,看到乙個詞語,叫「物件冒充」,這個概念本人覺得還是挺重要的,讓我對這兩個方法理解起來更加直觀。
call()方法,看下官方給出的例子
?
1
2
3
4
5
6
7
8
function
saycolor(sprefix,ssuffix) ;
var
obj =
new
object();
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
function
saycolor(sprefix,ssuffix) ;
var
obj =
new
object();
obj.color =
"blue"
;
new
array(
"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...