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

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

關于highlight()中this的指向問題

?????function?Highlight(){
????????var?tbody?=?document.getElementById('table').lastChild;????
????????trs?=?tbody.getElementsByTagName('tr');???
????????for(var?i?=1;i<trs.length;i++){
????????????trs[i].onmouseover?=?function(){
????????????????this.style.backgroundColor?="#f2f2f2";
????????????}?
????????????trs[i].onmouseout?=?function(){
????????????????this.style.backgroundColor?="#fff";
????????????}?
????????}
?????}

this指向最終調用它的對象?? 上述代碼中this指向了trs[i]?

但是??!

var?bar?=?function?()?{console.log(this)}
bar()

此處的this則是指向了window

這邊感覺兩處代碼形式基本相同 為何指向不一樣呢

正在回答

1 回答

請問有沒有可能是因為第一段代碼中的this,是對象方法(屬性)的函數的this,其函數針對的是那個對象的方法(屬性)而非那個對象本身,所以作為“最終調用這個方法(屬性)的‘那個對象’”成為了this的指向呢?

初學菜雞,對面向對象的理解還不是很透徹,求解~

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
JavaScript進階篇
  • 參與學習       468835    人
  • 解答問題       22582    個

本課程從如何插入JS代碼開始,帶您進入網頁動態交互世界

進入課程

關于highlight()中this的指向問題

我要回答 關注問題
微信客服

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

幫助反饋 APP下載

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

公眾號

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