两个问题求解答

来源:9-22 编程练习

ahao430

2016-05-06 10:58

两个问题 1:window.onload = function(){Highlight();}改成window.onload=Highlight();就不行了,为什么? 2:trs[i].onmouseover=function()            {this.style.backgroundColor=#f2f2f2};   this这个事件的对象不就是trs[i]么,把this改成trs[i]为什么不行

写回答 关注

2回答

  • 范克里夫
    2016-05-08 23:43:54
    已采纳
    1. 可以改成window.onload = Highlight;

      window.onload = function(){Highlight();}这句中的function(){Highlight();}是一个函数直接量,Highlight指向一个函数。

      你写的window.onload=Highlight();可以自己想象着执行下。Highlight()这句执行结果是undefined,因为Highlight这个函数没有返回值。所以你写的代码可以等价于window.onload=undefined;

    2. 函数执行的作用域链中没有i,trs有,因为参考代码的trs是定义在window对象下的。

    ahao43...

    非常感谢!

    2016-05-09 22:23:08

    共 1 条回复 >

  • qq_小付_1
    2016-05-06 15:32:35

    1.function 对应的有oclick吧  只有点击时才能触发这个事件。

    2.改成trs[i]我试着行啊。你再试一试。

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468060 学习 · 21891 问题

查看课程

相似问题