我有一个带有数组属性的 JavaScript 类。我在对象上创建了一个方法来从该数组返回特定对象。然而它并没有像我预期的那样工作。我在任何浏览器中都没有收到错误,但是当我尝试将其放入 jsfiddle 时,我收到一条错误消息
错误: 第 5 行第 18 行的问题:无法设置未定义的属性“first” 隐含全局:第 1 页
我不知道这意味着什么,但它指的是这一行
for (var i = 0; i < obj.containerDivs.length; i++) {
这是完整的代码。谁能告诉我我做错了什么?为什么 GetContainerDiv 函数不会返回 dv 但后来当我在没有该函数的情况下迭代元素时它工作正常。谢谢。
Page = function() {
this.containerDivs = ["div1", "div2", "div3"];
this.GetContainerDiv = function(obj, divId) {
for (var i = 0; i < obj.containerDivs.length; i++) {
if (obj.containerDivs[i] == divId) return d;
}
return null;
}
}
var page = new Page();
var dv = page.GetContainerDiv(page, "div1");
console.log(dv);
for (var i = 0; i < page.containerDivs.length; i++) {
if (page.containerDivs[i] == "div1") console.log(page.containerDivs[i]);
}
最佳答案
this.GetContainerDiv = 函数(obj, divId) { for (var i = 0; i < obj.containerDivs.length; i++) {
if (obj.containerDivs[i] == divId)
return d; // D IS NOT DEFINED
}
return null;
}
关于javascript - 无法使用对象方法从自定义 javascript 对象数组属性获取对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9071355/