我对原型对象有疑问。
我了解到构造函数有原型属性(不是[[prototype]]属性),它表示原型对象。
ex)如果函数的名称是Person,则原型对象的名称将是Person.prototype
所以我在下面输入了这段代码。
function Person(name) {
this.name = name;
}
var foo = new Person('foo');
console.dir(Person);
如果我的想法是对的,Person函数的prototype属性必须指向Person.prototype,但实际结果是不同的。
但是我的书说:
为什么Person.prototype的名字'对象' ???我不知道为什么...... 我的精神会被打破......
有人请回答.. :(
答案 0 :(得分:0)
您的image[image_mask,:] = np.nan
函数具有Person()
属性。 prototype
被称为Person().prototype
,因为它确实是一个对象。在控制台中,纯粹是说prototype属性是一个对象。
由于构造函数名称,它显示Person,可能是因为作者使用了不同的JavaScript / Browser版本,或者完全使用了另一个版本。你得到的'对象'是正常的,你的代码应该正常工作。你可以忽略这种差异。
函数的Object
属性允许您向代码添加属性。这是一个例子:
prototype
然后在代码中稍后如果要向person函数添加属性,就像我最喜欢的编程语言一样:
function Person(name, age, id) {
this.name = name;
this.age = age;
this.id = id;
}
var me = new Person("Brian", 12, 0);
如果您想定义我喜欢的语言,您可以这样做:
Person.prototype.favLanguages = null;