为了账号安全,请及时绑定邮箱和手机立即绑定

this值到底代表什么?

tr[i].onmouseover = function(){
                this.style.backgroundColor="#f2f2f2";
            }
            
这里的this为什么不能换成tr[i]?


正在回答

2 回答

this只的就是该元素,这里是不能替换的,原因是由于,你给tr[i]添加鼠标移入事件,而在该事件函数中并没有传递参数所以不能使用这个。关于this的话,在JavaScript深入浅出这门课程中会有讲解,期待开放呢。。

0 回复 有任何疑惑可以回复我~
#1

别离友人 提问者

非常感谢!
2015-01-21 回复 有任何疑惑可以回复我~
#2

keida

请问如果我把this换成tr[i] 可以吗?
2015-01-26 回复 有任何疑惑可以回复我~
#3

Snail_N

请问血舞残殇,“而在该事件函数中并没有传递参数所以不能使用这个”这句话我不是很理解。tr[i]不是已知的变量么,function内部读取不到tr[i]的值吗? 谢谢!
2015-02-26 回复 有任何疑惑可以回复我~
#4

康振宁 回复 Snail_N

如果想往某个事件函数中传递参数的话,应该是function(参数){}这样写。这里只是在tr[i]上绑定一个无参数的鼠标移入事件,所以,该绑定的function并不能读取到tr[i]这个参数
2015-02-27 回复 有任何疑惑可以回复我~
#5

skylinety 回复 Snail_N

tr[i].onmouseover = function(),此处的function括号与函数体内并没有提供任何参数,所以在函数内出现的任何参数都将是未定义的,除非重新定义,而使用this,是可以指代触发事件函数的tr[i]的
2015-04-23 回复 有任何疑惑可以回复我~
查看2条回复

举报

0/150
提交
取消

this值到底代表什么?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信