第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定

call和apply的區(qū)別?

在您的實(shí)例中使用call方法和apply方法有什么區(qū)別?使用時應(yīng)注意什么您可以詳細(xì)講解一下嗎?

正在回答

2 回答

好詳細(xì)。。。。。。

0 回復(fù) 有任何疑惑可以回復(fù)我~

apply and call

????它們的作用都是將函數(shù)綁定到另外一個對象上去運(yùn)行,兩者僅在定義參數(shù)方式有所區(qū)別:

???? apply(thisArg,argArray);

???? call(thisArg[,arg1,arg2…] ]);

即所有函數(shù)內(nèi)部的this指針都會被賦值為thisArg,這可實(shí)現(xiàn)將函數(shù)作為另外一個對象的方法運(yùn)行的目的

apply的說明

如果?argArray?不是一個有效的數(shù)組或者不是?arguments?對象,那么將導(dǎo)致一個?TypeError。
如果沒有提供?argArray?和?thisArg任何一個參數(shù),那么?Global?對象將被用作?thisArg,?
并且無法被傳遞任何參數(shù)。

call的說明

call方法可將一個函數(shù)的對象上下文從初始的上下文改變?yōu)橛?thisArg指定的新對象。
如果沒有提供?thisArg參數(shù),那么?Global?對象被用作?thisArg

相關(guān)技巧:

應(yīng)用call和apply還有一個技巧在里面,就是用call和apply應(yīng)用另一個函數(shù)(類)以后,當(dāng)前的函數(shù)(類)就具備了另一個函數(shù)(類)的方法或者是屬性,這也可以稱之為“繼承”。

看下面示例:

//?繼承的演示
function?base() {
????this.member = " dnnsun_Member";
????this.method =?function() {
???????? window.alert(this.member);
???? }
}
function?extend() {
?????base.call(this);
???? window.alert(member);
???? window.alert(this.method);
}


上面的例子可以看出,通過call之后,extend可以繼承到base的方法和屬性。

順便提一下,在javascript框架prototype里就使用apply來創(chuàng)建一個定義類的模式,

其實(shí)現(xiàn)代碼如下:

var?Class = {
?? create:?function() {
????returnfunction() {
??????this.initialize.apply(this, arguments);
???? }
?? }
}

解析:從代碼看,該對象僅包含一個方法:Create,其返回一個函數(shù),即類。但這也同時是類的
構(gòu)造函數(shù),其中調(diào)用initialize,而這個方法是在類創(chuàng)建時定義的初始化函數(shù)。通過如此途徑,
就可以實(shí)現(xiàn)prototype中的類創(chuàng)建模式

示例:

var?vehicle=Class.create();
vehicle.prototype.initialize= function(type)

{
????????this.type=type;
}

vehicle.prototype.showSelf= function()

{
????? alert("this vehicle is "+?this.type);
}


var?moto=new?vehicle("Moto");
moto.showSelf();


?原文http://www.cnblogs.com/Ghost-Draw-Sign/articles/1530108.html


3 回復(fù) 有任何疑惑可以回復(fù)我~

舉報

0/150
提交
取消

call和apply的區(qū)別?

我要回答 關(guān)注問題
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號