按道理说js中用驼峰形式写没错啊
background-color不能写- 变成backgroundColor,为啥会未定义呢
登陆购买课程后可参与讨论,去登陆吧
同学你好,是自己写的代码出现报错吗?是的话,可以将你写的代码直接粘贴过来,老师帮助排查下,如果不是的话,建议同学图文结合详细描述下具体是指哪里呢,便于帮助同学准确的定位与解决问题。祝学习愉快~
本题考察的是DOM 0级事件,正确选项为AD;
通过DOM获取到的html元素,调用函数时,后面直接跟函数名,不加括号,startBtn.onclick=start;是正确的写法,而endBtn.onclick=end();这种写法,end方法会在页面打开时就执行,不是点击endBtn才执行end。
所以,当点击开始按钮时,先弹出“确定开始吗”,然后按钮背景颜色变为绿色;结束按钮后面是直接调用的函数,所以当打开页面时,直接执行函数里面的语句,弹出“确定结束吗?”,同时会报一个错“ Cannot set property 'backgroundColor' of undefined”。
我对这个报错不太理解 写成驼峰形式为啥还错了
因为endBtn.onclick=end();这种写法,在end函数名后面添加了括号,表示立即调用该函数,所以end方法在页面打开就执行了,而不是在点击结束按钮时才执行,所以此时end函数内部的this并不执行结束按钮,而是window。
可以写一写代码测试下,示例:
由于window对象下并没有style属性,返回结果是undefined,无法通过打点方法访问到backgroundColor,所以会出现报错。如下:
注意:可能是浏览器版本原因,导致截图中的报错信息与本题描述不一样,但意思是一样的
祝学习愉快~
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
登录后可查看更多问答,登录/注册
本阶段为你揭开日常所见网页的神秘面纱,炫酷的动效并不难得,带你从基础知识到静态网页布局,再到用JS实现动态网页开发,轻松迈入前端开发的大门。
16 1
65 3
26 3
18 1
188 1
在线咨询
领取优惠
免费试听
领取大纲
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星