js中函数的prototype.constructor是指向函数本身,它有什么用
展开全部
1,JS函数:
JS中没有类的概念,但是它模拟了类的构成,JS中的构造函数 就类似于java中所说的类,类名是函数名,构造函数在生成的时候会自动拥有一个prototype属性,它是一个引用,引用了该构造函数的原型对象,而这个原型对象也会自动获得一个属性constructor,用来指向该构造函数
2,JS中的实例对象:
通过构造函数new出来的实例对象会拥有一个内置属性_pro_,它指向构造它的构造函数的原型对象,所以所有new出来的实例对象都会共享该原型对象的属性和方法(这也是原型对象存在的意义)。
3,实例对象与constructor的联系:
所以实际上实例对象和构造函数并没有直接的关系,它是通过构造函数的原型对象和构造函数联系的,前面说了,实例对象会共享原型对象的属性,所以实例对象也会拥有一个constructor的属性,这样它和构造函数就产生了联系。
4,这种联系的作用:
这种联系,就可以知道该实例对象属于哪个类(也就是构造函数)
JS中没有类的概念,但是它模拟了类的构成,JS中的构造函数 就类似于java中所说的类,类名是函数名,构造函数在生成的时候会自动拥有一个prototype属性,它是一个引用,引用了该构造函数的原型对象,而这个原型对象也会自动获得一个属性constructor,用来指向该构造函数
2,JS中的实例对象:
通过构造函数new出来的实例对象会拥有一个内置属性_pro_,它指向构造它的构造函数的原型对象,所以所有new出来的实例对象都会共享该原型对象的属性和方法(这也是原型对象存在的意义)。
3,实例对象与constructor的联系:
所以实际上实例对象和构造函数并没有直接的关系,它是通过构造函数的原型对象和构造函数联系的,前面说了,实例对象会共享原型对象的属性,所以实例对象也会拥有一个constructor的属性,这样它和构造函数就产生了联系。
4,这种联系的作用:
这种联系,就可以知道该实例对象属于哪个类(也就是构造函数)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询