dropdown.js中的this指向没理解

来源:3-2 用构造函数的形式重写dropdown模块

lcyjerry

2019-11-22 18:08:01

dropdown.js中的this指向没理解

写回答

4回答

好帮手慕星星

2019-11-24

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

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


http://img.mukewang.com/climg/5dd9e6950926057c15240951.jpg

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

http://img.mukewang.com/climg/5dd9e96f09fbc4c312180236.jpg

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

http://img.mukewang.com/climg/5dd9e98e09f2f51709480512.jpg

http://img.mukewang.com/climg/5dd9e99b0902007308450403.jpg

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

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

0

好帮手慕糖

2019-11-23

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

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

http://img.mukewang.com/climg/5dd8907f096730d505160186.jpg

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

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

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

0
hcyjerry
h 那如果这个构造函数不用this可以吗
h019-11-23
共2条回复

好帮手慕糖

2019-11-22

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

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

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

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

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

0
hcyjerry
h 还有老师为什么执行这个构造函数时,一定要用new
h019-11-22
共3条回复

lcyjerry

提问者

2019-11-22

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

0

0 学习 · 14456 问题

查看课程