【发布时间】:2017-11-10 05:04:23
【问题描述】:
我对 JavaScript 中的原型链和继承感到很困惑。例如,Date() 对象具有成员方法/函数,例如 Date.now()。为什么当您创建 Date() 对象的新实例并调用 now() 方法时,它会引发错误? new Date.now()
但是当调用诸如getTime 之类的原型方法时,调用new Date().getTime() 有效,但在不创建新实例的情况下不能调用Date().getTime()。这是为什么?我的理解是对象的原型成为原始对象的一部分?
例如:
function Person(firstName, lastName) {
this.firstname = firstName;
this.lastname = lastName;
this.getfirstName = () => {
return this.firstName;
}
}
Person.prototype.getlastName = () => {
return this.lastName;
}
原型方法getlastName 不是成为Person 的成员方法并且无需使用new 关键字就可以访问,就像它必须与getTime() 一起用于Date()?
【问题讨论】:
-
getLastName返回this.lastName,这意味着它作用于实例。结帐javascriptissexy.com/… 它可能会清除一些事情。
标签: javascript prototype