dropdown.js中的this指向没理解

正在回答 回答被采纳积分+1

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

4回答
好帮手慕星星 2019-11-24 10:26:33

同学你好,针对你的问题解答如下:

1、代码中Dropdown构造函数实例化成对象了:


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

通过new就可以将函数实例化成对象,可以输出看看:

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

里面有通过this定义的属性以及在原型上添加的方法:

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

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

2、对象中需要通过this去访问属性和方法,所以不能不用this,这就是构造函数的特性。

如果我的回答帮助到了你,欢迎采纳,祝学习愉快~

好帮手慕糖 2019-11-23 09:53:30

同学你好,关于你的问题,回答如下。

1、this指向的是Dropdown函数实例化之后的对象。不是构造函数本身。比如,如下这个对象。

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

2、this是不能替换的。替换之后,无法指向实例化的对象了。那么声明属性方法等,是不能通过this来访问。

3、因为要将这个实例化为对象。而new是实例化时使用的关键字。

如果我的回答帮助了你,欢迎采纳,祝学习愉快~

  • 提问者 lcyjerry #1
    但这个构造函数我没有实例化对象啊
    2019-11-23 21:54:47
  • 提问者 lcyjerry #2
    那如果这个构造函数不用this可以吗
    2019-11-23 22:01:54
好帮手慕糖 2019-11-22 18:50:51

同学你好,关于你的问题,回答如下:

1、this指向的是实例化之后的对象。

2、使用this声明的属性或者方法,才可以挂载到这个实例化对象上。

3、而this又指向这个对象,所以使用this才可以访问实例化对象上的属性或者方法。

如果我的回答帮助了你,欢迎采纳,祝学习愉快~

  • 提问者 lcyjerry #1
    是不是this指向的就是Dropdown这个构造函数本身,那我把this全部替换成Dropdown可以吗
    2019-11-22 20:13:52
  • 提问者 lcyjerry #2
    如果要替换this ,该用什么替换
    2019-11-22 20:21:06
  • 提问者 lcyjerry #3
    还有老师为什么执行这个构造函数时,一定要用new
    2019-11-22 20:45:44
提问者 lcyjerry 2019-11-22 18:09:09

this指的是谁,为什么加了this才能生效,如果不加this直接使用全局变量为什么不行

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

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

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

0 星
2.组件化网页开发
  • 参与学习           人
  • 提交作业       1121    份
  • 解答问题       14456    个

本阶段在运用JS实现动态网页开发的基础上,带你深入理解企业开发核心思想,完成一个企业级网页的开发,体验前端工程师的成就感。

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

在线咨询

领取优惠

免费试听

领取大纲

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