关于this的问题

关于this的问题

http://img1.sycdn.imooc.com//climg/5d27f20500015c0205560161.jpg

http://img1.sycdn.imooc.com//climg/5d27f23d000191b608380260.jpg

this指代当前对象.当前对象不应该是oButton[i]吗.用oButton[i]调用不了他的value值

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

    同学你好,这里的this是指当前对象,也就是oButton[i]。但是在function有一个比较特殊的地方:如果在function中使用function外定义的变量时,不使用this调用,则使用的是这个变量最终的值。比如在这段代码中

http://img1.sycdn.imooc.com//climg/5d282aa1000191b507400221.jpg

    变量 i 是在function外定义的,所以在function中使用 i 时,这里的 i 就是遍历oBtton.length后的值,同学可以在function中输出一下 i ,结果是21。input元素一共有20个,当i++等于21不小于oBtton.length时,将不再循环,最终i的值就是21。而oBtton[21]不存在的,所以会报错。同学可以alert一下oButton[i-1].value,此时会弹出最后一个元素m。所以在这个function中不能使用oBtton[i]代替this。

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星

相似问题

登录后可查看更多问答,登录/注册

请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师