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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

關(guān)于js的this指向。

關(guān)于js的this指向。

寶慕林4294392 2018-12-12 14:14:55
var m = function() {    a = 3;    console.log(a, b ,this)};var init = function () {    var a = 1;    var b = 10;    m.call(this);}init();或var m = function() {    a = 3;    console.log(a, b ,this)}.bind(this);var init = function () {    var a = 1;    var b = 10;    m();}init();會(huì)報(bào)錯(cuò),b is not defined, m里的this還是指向了windows如何通過(guò)不傳參數(shù)的形式,可以訪問(wèn)到init中的變量b?換句話說(shuō),可以通過(guò)改變m函數(shù)調(diào)用時(shí)的this指向,訪問(wèn)到init中的b嘛?
查看完整描述

1 回答

?
慕的地6264312

TA貢獻(xiàn)1817條經(jīng)驗(yàn) 獲得超6個(gè)贊

始終記住一句話:this永遠(yuǎn)指向最后調(diào)用他的對(duì)象。


當(dāng)你執(zhí)行init時(shí),是window對(duì)象在執(zhí)行,最后調(diào)用了上面m方法,因?yàn)樵谶@個(gè)方法中,變量a是沒(méi)有聲明的,所以提升到全局層,因此你是可以在window對(duì)象下找到變量a的。如果要達(dá)到題主所說(shuō)的效果,在題主的基礎(chǔ)上可以這樣修改:


var m = function(b) {

    a = 3;

    console.log(a, b ,this)

};


var init = function () {

    var a = 1;

    var b = 10;

    m.call(this , b);

}

init();

或者說(shuō)將init提升到一個(gè)對(duì)象里面去吧:


var m = function() {

    a = 3;

    console.log(this.a, this.b ,this)

};

var aa = {

    a : 1,

    b : 10,

    init : function () {

        this.a = 2;

        this.b = 20;

        m.call(this);

    }

}

aa.init();


查看完整回答
反對(duì) 回復(fù) 2019-01-21
  • 1 回答
  • 0 關(guān)注
  • 464 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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