为什么className.proptotype.constructor=newConstructor()不更改Javas



我尝试通过更改类的构造函数

className.proptotype.constructor = newConstrcutor; 

这个属性现在引用newConstructor,但当我尝试创建类的实例时,仍然执行旧的构造函数。那么,className.prototype.co构造器到底有什么用呢?

感谢

每个构造函数都有一个指向名为prototype的对象的指针。原型是JavaScript支持在相同类型的对象之间共享属性和方法的主要机制。

此外,原型可以用于支持继承;与Java、c#等其他OO语言不同。因此,您可以想象,有一种机制允许解释器通过隐式形成的链从一个原型导航到另一个原型。

就像构造函数指向原型对象一样,原型也可以指向它的构造函数;您可以将其视为构造函数和原型之间的关系。

className.proptotype.constructor属性的用途之一是当您想要调试代码时。JavaScript调试器会清楚地说明实例的类型(创建它的构造函数)。

有关更多详细信息,您可以阅读此

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/constructor

相关内容

最新更新