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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

是因為test1()函數的作用域屬于全局作用域嗎?為什么不是obj呢?

是因為test1()函數的作用域屬于全局作用域嗎?為什么不是obj呢?

慕萊塢森 2023-04-25 16:12:34
var a = 'global';var obj = { a : 'local', test : function(){ function test1(){ alert(this.a);//global } alert(this.a);//local test1();//所有者是window } }; obj.test();為什么第一個a彈出的值是global 它的this指向了window
查看完整描述

3 回答

?
慕標5832272

TA貢獻1966條經驗 獲得超4個贊

方法調用的時候,會有this指針的傳遞
例如:
a.doSomething();
那么,在doSomething這個函數域中,this指針指向的就是對象a

如果直接調用doSomething(),那么,this指針指向的是全局對象,即window


查看完整回答
反對 回復 2023-04-28
?
ITMISS

TA貢獻1871條經驗 獲得超8個贊

function test1(){    alert(this.a);//global}

上面格式的聲明函數都是全局作用域

test1 = function() {}
or
{test1 : function() {}}

這種格式聲明的函數則距具有和變量(屬性)相同的作用域


查看完整回答
反對 回復 2023-04-28
?
阿波羅的戰(zhàn)車

TA貢獻1862條經驗 獲得超6個贊

this的指向是在執(zhí)行的時候綁定的。this指向和函數調用的方式有關。obj.test()是test作為對象的方法調用的,所以test中的this指向這個對象,因此輸出obj中的a;而test1()在雖然在test中執(zhí)行,但是和作用域無關。作為函數直接調用的,所以這個this指向了window,因此輸出window中的a。

查看完整回答
反對 回復 2023-04-28
  • 3 回答
  • 0 關注
  • 131 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號