试图理解为什么每个JavaScript对象都有构造函数属性。
是否使用了构造函数属性,因为已经创建了对象?
var MyFunc = function (name){this.name=name}
var instance = new MyFunc("myclass");
现在实例有一个构造函数属性,它引用了MyFunc本身。在实例上使用构造函数属性有什么用?
答案 0 :(得分:1)
比那更复杂:没有对象,在JS中默认具有constructor
属性,但是他们的原型(如果对象有原型)有一个
另外,要小心:constructor
引用了一个函数,但是这个prototype属性不是只读的,所以可以很容易地改变属性,因此不要依赖它。
答案 1 :(得分:0)
这是否回答了你的问题?
var dog1= {"a":1}
function Dog ()
{
}
dog2= new Dog();
console.log(dog1.constructor) //function Object() { [native code]...
console.log(dog2.constructor) //function Dog()...
有时你需要知道对象是如何创建的。 (更不用说原型是一个构造函数属性)