我想检查一下我的想法是否正确?
代码:
function Person(firstname, lastname) {
this.firstname = firstname;
this.lastname = lastname;
}
Person.prototype.getFullName = function () {
return this.firstname + ' ' + this.lastname;
}
var john = new Person('Melo','Tang');
我调用下面图片中的代码“函数构造函数”。
function Person(firstname, lastname) {
this.firstname = firstname;
this.lastname = lastname;
}
程序运行到此行时
var john = new Person('Melo','Tang');
答案 0 :(得分:2)
我真的不明白你的图表或箭头或它们的颜色应该代表什么。
程序运行到此行时
var john = new Person('Melo','Tang');
这里发生的事情恰恰是通过Person
构造函数构造了一个新对象,其中Person.prototype
为其原型。除了用作新对象的原型之外,Person.prototype
不会被检查或咨询,此时也不会对其进行任何处理。只有在查找属性和方法时才会查询原型,例如在调用john.getFullName()
时。
为清楚起见,我会避免使用术语“函数构造函数对象”。只需将其称为“构造函数(函数)”。