在迭代包含不同类型对象的数组时,我在访问对象的方法时遇到问题。两种类型的对象都定义了特定的方法,但我得到的是带有解释的 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();
}
})();