關(guān)于源代碼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,能用trs[i]代替么
2017-07-25
不可以,trs[i]不在匿名函數(shù)的作用域內(nèi),除非將trs[i]以參數(shù)傳到函數(shù)內(nèi)部,你可以試下,如下代碼trs[i]的結(jié)果是undefined
HTML部分
JS部分
2017-07-25
不可以,trs[i]作用域不在函數(shù)內(nèi)部,可以想象下此函數(shù)本應(yīng)該在外邊寫的,而現(xiàn)在是沒有給起名字,作為匿名函數(shù)使用,也就是說for循環(huán)只有此函數(shù)的引用,而函數(shù)體本身是沒有在for內(nèi)的
——大概是這樣,這個(gè)我也有些模糊