我总是得到不能设置属性'saySomething'未定义,但为什么?我在某个地方犯了错误吗?
var Person = new Object(); Person.prototype.saySomething = function () { console.log("hello"); }; Person.saySomething();
A.J.. 7
调试提示:..of undefined
当您尝试访问某些未定义的属性时,会出现此错误.
当你这样做时new Object()
,它会创建一个没有prototype属性的新空对象.
我不确定我们到底想要实现什么,但你可以访问函数原型并使用它.
var Person = function() {};
Person.prototype.saySomething = function() {
console.log("hello");
};
var aperson = new Person();
aperson.saySomething();
调试提示:..of undefined
当您尝试访问某些未定义的属性时,会出现此错误.
当你这样做时new Object()
,它会创建一个没有prototype属性的新空对象.
我不确定我们到底想要实现什么,但你可以访问函数原型并使用它.
var Person = function() {};
Person.prototype.saySomething = function() {
console.log("hello");
};
var aperson = new Person();
aperson.saySomething();
prototype属性存在于函数中,而不存在于实例化对象上。
var Person = new Object();
console.log(Person.prototype); // undefined
var Person2 = function () {}
console.log(Person2.prototype); // {}