this的疑惑

this的疑惑

老师,您好:

this是什么意思?没搞懂,指代的是谁?它的作用是什么?

正在回答

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

1回答

同学,你好。this是指当前对象,也就是oButton[i]。this.value 则是获取当前遍历到的这个input标签的value 的值。

当点击"1"按钮触发时,this对应的是触发这个onclick事件的元素,也就是当初的oButton[i]。

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

  • 为学习而奋斗 提问者 #1
    let oButton = document.getElementsByTagName("input"); for (let i = 0; i < oButton.length; i++){ oButton[i].onclick = function(){ alert(oButton[i].value); } } 老师,都说使用alert(oButton[i].value);会报错,经过我发现就是使用ES6的let定义的变量使用这个的时候不会报错,但是使用var定义的时候,就会报错,这是为什么?
    2020-08-10 20:04:56
  • 为学习而奋斗 提问者 #2
    还有,this.value 则是获取当前遍历到的这个input标签的value 的值。也就是说如果当我oButton[i]遍历到的i的值为1时,则它获取的就是对应列表的索引值为1的那个input标签是嘛?然后就是this这个获取当前对象语法也同样适用于ByName和ByClassName和ById是嘛?
    2020-08-10 20:12:51
  • 好帮手慕美 回复 提问者 为学习而奋斗 #3
    同学,你好。 1、当用var声明时,i会在全局作用域中找到它的值,为21;当用let声明时,i会在for的第一行找到它的值,每次的值不一样,分别为0、1、2、3、4……,因此使用let声明变量是可以使用oButton[i].value的 2、同学的理解是正确的 3、课程中没有涉及到es6的讲解,同学可以搜索查关知识点进行学习来理解let和var的区别 祝学习愉快~~~~
    2020-08-11 09:54:57
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
3.从网页搭建入门Python Web
  • 参与学习           人
  • 提交作业       218    份
  • 解答问题       3562    个

本阶段带你用Python开发一个网站,学习主流框架Django+Flask是Python Web开发的第一步,在基础知识上实现积分商城的项目开发,体验真实的项目开发流程,提高解决编程问题和效率的能力。

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

在线咨询

领取优惠

免费试听

领取大纲

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