有關(guān)JavaScript中call()和apply() 的一些理解
call()方法和apply()方法,在上層應(yīng)用中用的不是很多,但在底層寫(xiě)JS框架的時(shí)候卻常??吹?。然后度娘谷哥一番,也發(fā)現(xiàn)好多達(dá)人寫(xiě)出了自己的理解和筆記,但始終還是云里霧里,于是去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è)參考,也希望大家多多支持腳本之家。
- JavaScript中的apply()方法和call()方法使用介紹
- JS面向?qū)ο蟆rototype、call()、apply()
- 在JavaScript中call()與apply()區(qū)別
- 跟我學(xué)習(xí)javascript的call(),apply(),bind()與回調(diào)
- js繼承call()和apply()方法總結(jié)
- js中apply()和call()的區(qū)別與用法實(shí)例分析
- 基于JavaScript實(shí)現(xiàn)繼承機(jī)制之調(diào)用call()與apply()的方法詳解
- 深入理解關(guān)于javascript中apply()和call()方法的區(qū)別
- 淺談javascript的call()、apply()、bind()的用法
- JavaScript函數(shù)apply()和call()用法與異同分析
- JS中call()和apply()的功能及用法實(shí)例分析
相關(guān)文章
薦書(shū)|您有一份JavaScript書(shū)單待簽收
​學(xué)習(xí)是一個(gè)持續(xù)不斷的過(guò)程,在互聯(lián)網(wǎng)技術(shù)里暢游的程序員們,對(duì)學(xué)習(xí)的渴望更是難以窮盡,下面這篇文章主要給大家分享了關(guān)于Javascript相關(guān)的書(shū)籍,對(duì)大家學(xué)習(xí)Javascript具有一定的參考學(xué)習(xí)價(jià)值,下面來(lái)一起看看吧。2017-07-07
javascript實(shí)現(xiàn)滑動(dòng)解鎖功能
這篇文章主要介紹了javascript實(shí)現(xiàn)滑動(dòng)解鎖功能的方法及示例,效果非常棒,需要的朋友可以參考下2014-12-12
JavaScript中的prototype和constructor簡(jiǎn)明總結(jié)
一直沒(méi)弄清楚JavaScript中的prototype和constructor屬性,今天看了看書(shū),總算有點(diǎn)眉目了2014-04-04
javascript學(xué)習(xí)筆記(十二) RegExp類(lèi)型介紹
javascript學(xué)習(xí)筆記之RegExp類(lèi)型介紹,學(xué)習(xí)js的朋友可以參考下2012-06-06
JavaScript腳本語(yǔ)言在網(wǎng)頁(yè)中的簡(jiǎn)單應(yīng)用
JavaScript腳本語(yǔ)言在網(wǎng)頁(yè)中的簡(jiǎn)單應(yīng)用...2007-05-05

