gpt4 book ai didi

javascript - "Uncaught TypeError: Object 0 has no method ' 在遍历数组时更新 '"

转载 作者:行者123 更新时间:2023-11-30 18:05:18 24 4
gpt4 key购买 nike

我在遍历包含不同类型对象的数组时遇到访问对象方法的问题。两种类型的对象都定义了特定的方法,但我得到的是带有解释的 TypeError:“对象 0 没有方法‘更新’”。我将对象放入数组中的顺序无关紧要。我对 js 还很陌生,所以我可能正在根据其他语言进行一些不正确的推理……我在 Chrome 中对其进行了测试。

(function(){
function Camera(){
this.bar = "bar";
};

Camera.prototype.update = function(){
this.bar +="bar";
}

function Object(){
this.foo = "foo";
};

Object.prototype.update = function(){
this.foo+="foo";
}

var camera = new Camera();
var object = new Object();

var array = [camera, object];

for(o in array){
o.update();
}


})();

最佳答案

如果您在数组中使用o,则o 指的是数组元素的索引。试试这个:

for (var i = 0; i < array.length; i++) {
array[i].update()
}

FIDDLE DEMO
有关 for ... in 运算符的更多信息,请查看 documentation .

关于javascript - "Uncaught TypeError: Object 0 has no method ' 在遍历数组时更新 '",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15964092/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com