为了更好地理解原型(prototype),所以我转到控制台并输入了以下内容:
function Dog(){}
Dog.prototype.breed = breed;
Dog.prototype.talk = function(){
console.log('I\'m a ' + this.breed);
};
dog1 = new Dog();
dog1.breed = 'poodle';
dog1.talk();
//This is what I get...
//ReferenceError: breed is not defined
更新我使用了null
并且它工作得很好......不过有趣的是,使用Dog.prototype.name = name;
可以工作!
Dog.prototype.name = name;
//Dog.prototype.breed = null;
Dog.prototype.talk = function(){
console.log('my name is ' + this.name );
};
dog1 = new Dog();
dog1.name = 'charly';
//dog1.breed = 'poodle';
dog1.talk();
最佳答案
Dog.prototype.breed = breed;
您尚未定义品种
。如果您想提供某种默认品种,请尝试:
Dog.prototype.breed = "mutt";
关于javascript - 无法在 javaScript 中向原型(prototype)添加属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23086118/