JavaScript:无法设置未定义的属性

克里斯多夫·波尔

我对JS还是很陌生,我想把头围绕在JS中的对象主题上。我想做的是将对象原型的属性设置为未初始化的数组,以便以后可以向该数组添加多个对象(对于原型对象的实例)到目前为止,我的代码如下所示:

function cocktail(){
this.prototype.ingredients = [];
this.printIngredients = function() {
    var i;
    for (i = 0; i<this.ingredients.length; ++i) {
        console.log(this.ingredients.fluid);
        console.log(this.ingredients.amount);
        }
    }
}

var Mojito = new cocktail();
Mojito.ingredients.push({"fluid":"White Rum", "amount":0.05});
Mojito.printIngredients();

抛出:

TypeError:无法设置未定义的属性“成分”

如果我将代码更改为:

this.ingredients = [];

它可以工作,但是printIngredients()方法会打印两次未定义的内容。当我做:

var array = [];
array.push({"a":1, "b":2});
console.log(array[0].a, array[0].b)

一切都按我预期的那样工作。有人可以澄清我做错了什么,以及我的想法错综复杂的地方吗?

gurvinder372

将您的代码更改为

function cocktail(){
this.ingredients = []; //this doesn't have prototype property
this.printIngredients = function() {
    var i;
    for (i = 0; i<this.ingredients.length; ++i) {
        console.log(this.ingredients[i].fluid);//use the counter variable to get the fluid value at current counter value 
        console.log(this.ingredients[i].amount);//use the counter variable to get the amount value at current counter value 
        }
    }
}

var Mojito = new cocktail();
console.log(Mojito.ingredients)
Mojito.ingredients.push({"fluid":"White Rum", "amount":0.05});
Mojito.printIngredients();

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

JavaScript:无法设置未定义的属性

来自分类Dev

无法设置未定义JavaScript的属性“ 0”

来自分类Dev

Javascript错误“无法设置未定义的属性'onmouseover'

来自分类Dev

Uncaught TypeError:无法设置未定义JavaScript的属性“ width”

来自分类Dev

Javascript:错误“无法设置未定义的属性'...'”

来自分类Dev

无法在 JavaScript 中设置未定义的属性“0”

来自分类Dev

无法设置未定义的属性

来自分类Dev

JS:无法设置未定义的属性

来自分类Dev

无法设置未定义的属性“宽度”

来自分类Dev

无法设置未定义的属性“ backgroundSize”

来自分类Dev

无法设置未定义的属性“ x”

来自分类Dev

无法设置未定义的属性“运行”

来自分类Dev

无法设置未定义的属性“ y”

来自分类Dev

无法设置userNm的属性未定义

来自分类Dev

“无法设置未定义的属性” innerHTML”

来自分类Dev

无法设置未定义的属性“ exports”

来自分类Dev

无法设置未定义的属性

来自分类Dev

无法设置未定义的属性“ classRules”

来自分类Dev

AngularJS无法设置未定义的属性

来自分类Dev

无法设置未定义的属性“年龄”

来自分类Dev

无法设置未定义的属性“背景”

来自分类Dev

无法设置未定义的属性“Swiper”

来自分类Dev

无法设置未定义的属性“名称”

来自分类Dev

nodejs 无法设置未定义的属性“”

来自分类Dev

反应 - 无法设置未定义的属性

来自分类Dev

角度属性无法设置未定义的属性

来自分类Dev

Javascript | 未捕获的TypeError:无法设置未定义的属性“颜色”

来自分类Dev

javascript抛出未捕获的TypeError:填充多维数组时无法设置未定义的属性“ 0”

来自分类Dev

内容显示中的Javascript错误“无法设置未定义的属性“显示”

Related 相关文章

  1. 1

    JavaScript:无法设置未定义的属性

  2. 2

    无法设置未定义JavaScript的属性“ 0”

  3. 3

    Javascript错误“无法设置未定义的属性'onmouseover'

  4. 4

    Uncaught TypeError:无法设置未定义JavaScript的属性“ width”

  5. 5

    Javascript:错误“无法设置未定义的属性'...'”

  6. 6

    无法在 JavaScript 中设置未定义的属性“0”

  7. 7

    无法设置未定义的属性

  8. 8

    JS:无法设置未定义的属性

  9. 9

    无法设置未定义的属性“宽度”

  10. 10

    无法设置未定义的属性“ backgroundSize”

  11. 11

    无法设置未定义的属性“ x”

  12. 12

    无法设置未定义的属性“运行”

  13. 13

    无法设置未定义的属性“ y”

  14. 14

    无法设置userNm的属性未定义

  15. 15

    “无法设置未定义的属性” innerHTML”

  16. 16

    无法设置未定义的属性“ exports”

  17. 17

    无法设置未定义的属性

  18. 18

    无法设置未定义的属性“ classRules”

  19. 19

    AngularJS无法设置未定义的属性

  20. 20

    无法设置未定义的属性“年龄”

  21. 21

    无法设置未定义的属性“背景”

  22. 22

    无法设置未定义的属性“Swiper”

  23. 23

    无法设置未定义的属性“名称”

  24. 24

    nodejs 无法设置未定义的属性“”

  25. 25

    反应 - 无法设置未定义的属性

  26. 26

    角度属性无法设置未定义的属性

  27. 27

    Javascript | 未捕获的TypeError:无法设置未定义的属性“颜色”

  28. 28

    javascript抛出未捕获的TypeError:填充多维数组时无法设置未定义的属性“ 0”

  29. 29

    内容显示中的Javascript错误“无法设置未定义的属性“显示”

热门标签

归档