为什么每个javascript对象都有构造函数属性?
只是想了解为什么每个JavaScript对象都有一个构造函数属性 是否因为对象已创建而使用构造函数属性为什么每个javascript对象都有构造函数属性?,javascript,Javascript,只是想了解为什么每个JavaScript对象都有一个构造函数属性 是否因为对象已创建而使用构造函数属性 var MyFunc = function (name){this.name=name} var instance = new MyFunc("myclass"); 现在实例有一个构造函数属性,它引用了MyFunc本身。实例上有构造函数属性有什么用?这能回答您的问题吗 var dog1= {"a":1} function Dog () { } dog2= new Dog(); c
var MyFunc = function (name){this.name=name}
var instance = new MyFunc("myclass");
现在实例有一个构造函数属性,它引用了MyFunc本身。实例上有构造函数属性有什么用?这能回答您的问题吗
var dog1= {"a":1}
function Dog ()
{
}
dog2= new Dog();
console.log(dog1.constructor) //function Object() { [native code]...
console.log(dog2.constructor) //function Dog()...
有时您需要知道对象是如何创建的。(更不用说prototype是一个构造函数属性)它(远)比这个复杂:在中,没有对象默认有构造函数
属性,但是它们的prototype(如果对象有prototype)有一个
另外,要小心:
构造函数
引用了一个函数,但这个原型属性不是只读的,因此可以很容易地更改属性,因此不要依赖它。我们可以使用instanceof?@GauravSingla我理解其中的区别。还有为什么需要构造函数属性。我们真的需要比较构造函数吗?@GauravSingla如果你想修改Dog.prototype
,但你只能访问dog2
实例,你可以使用dog2.constructor.prototype
访问Dog.prototype
。