亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

有關(guān)JavaScript中call()和apply() 的一些理解

 更新時(shí)間:2016年05月20日 11:13:03   投稿:jingxian  
下面小編就為大家?guī)?lái)一篇有關(guān)JavaScript中call()和apply() 的一些理解。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

call()方法和apply()方法,在上層應(yīng)用中用的不是很多,但在底層寫JS框架的時(shí)候卻常??吹?。然后度娘谷哥一番,也發(fā)現(xiàn)好多達(dá)人寫出了自己的理解和筆記,但始終還是云里霧里,于是去W3C學(xué)習(xí)了下

在W3C網(wǎng)上研究這兩個(gè)方法的時(shí)候,看到一個(gè)詞語(yǔ),叫“對(duì)象冒充”,這個(gè)概念本人覺(jué)得還是挺重要的,讓我對(duì)這兩個(gè)方法理解起來(lái)更加直觀。

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

function sayColor(sPrefix,sSuffix) {
  alert(sPrefix + this.color + sSuffix);
};

var obj = new Object();
obj.color = "blue";

sayColor.call(obj, "The color is ", "a very nice color indeed.");

最后輸出的結(jié)果是“The color is blue, a very nice color indeed.”

call()方法就是將第一個(gè)參數(shù)替換方法中的this,然后后面的參數(shù)傳入該方法使用

apply()方法,同樣先看個(gè)官方給出的例子

function sayColor(sPrefix,sSuffix) {
  alert(sPrefix + this.color + sSuffix);
};

var obj = new Object();
obj.color = "blue";

sayColor.apply(obj, new Array("The color is ", "a very nice color indeed."));

最后輸出的結(jié)果仍然是“The color is blue, a very nice color indeed.”

其實(shí)call()方法和apply()方法可以粗略的認(rèn)為是差不多的,第一個(gè)參數(shù)都是替換方法中this關(guān)鍵字,只是后面?zhèn)鹘o方法的傳參方式不同,call是直接對(duì)應(yīng),apply是利用數(shù)組,在數(shù)組中一一對(duì)應(yīng)

以上這篇有關(guān)JavaScript中call()和apply() 的一些理解就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論