javascript - 无法在 javaScript 中向原型(prototype)添加属性

标签 javascript

为了更好地理解原型(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/

相关文章:

javascript - 转义 JSON 以避免更改插入字符串

javascript - 单击时仅将类应用于单击的元素,而不是所有具有相同类的元素

javascript - 单击某个元素一定次数后停止功能

javascript - 使用 Redux-Observable 的通用 Epic

javascript - 如何为网站演示制作响应式面板切换选项?

javascript - Highcharts - 突出显示两个 y 值之间的区域

javascript - 无法从导入中引入 Vue,但如果我将它引入 html 文件中,则可以访问它

javascript - 如何在下拉菜单中定位我的 h2 标题

Javascript 重定向连接 url 而不是重定向

javascript - 使用 ramda 谓词相互过滤两个列表