function Test()
{
this.name = 'test name';
}
console.log(Test.prototype.constructor.prototype.constructor);
我无法理解为什么这是constructor
- prototype
的无限链?
我的意思是这个链的目的是什么,为什么没有结束,原型有一个构造函数,构造函数有一个原型,它是一个循环链,而构造函数每次都是相同的,无法想象。 ..
答案 0 :(得分:3)
嗯,默认情况下,每个 Function Object 都有一个.prototype
属性,该属性引用此函数的原型对象(如果用作构造函数,则变得非常重要)。
默认情况下,每个prototype object
都会引用constructor
函数,当然,它指向构造函数(在您的情况下为Test()
)。
所以,我们走了
Test.prototype.constructor.prototype.constructor.prototype.constructor.prototype.constructor.prototype.constructor.prototype.constructor.prototype.constructor.prototype.constructor.prototype.constructor.prototype.constructor.prototype.constructor.prototype.constructor.prototype.constructor.prototype.constructor.prototype.constructor.prototype.constructor.prototype.constructor
答案 1 :(得分:0)
这是一种理想的行为。
原型的constructor
属性是指拥有原型的对象(因此它引用自身)。