亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

在一個對象屬性中使用一個閉包后this的指向為什么是windw內置對象?

在一個對象屬性中使用一個閉包后this的指向為什么是windw內置對象?

倚天杖 2018-08-07 18:10:40
下面的這段代碼中result函數的this的指向為什么是window?<script>window.onload=function(){    var name="the window";    var obj={        name:"my obj",        getNameFunc:function(){            var result= function(){                return this.name;                             }            return result;         }     };    var func=obj.getNameFunc();         console.log(func());</script>我的理解是單調用了var func=obj.getNameFunc();后,result的this指向全局window對象,不知道是不是?
查看完整描述

1 回答

?
白衣染霜花

TA貢獻1796條經驗 獲得超10個贊

var func=obj.getNameFunc() 這句執行時,this指向的是obj這個對象,在你執行console.log(func()),調用func()時this指向了全局window對象。
當你要確定 函數中的this指向什么的時候,不要到函數定義的地方去找答案,而是要到函數被調用的地方找答案。如:a.f(),f()里面的this就是指a,而不管f()里面什么東西;若只是 f(),不考慮一些特殊情況,f里面的this就是指全局對象window

查看完整回答
反對 回復 2018-09-22
  • 1 回答
  • 0 關注
  • 640 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

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

公眾號

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