javascript - 无法使用对象方法从自定义 javascript 对象数组属性获取对象

标签 javascript

我有一个带有数组属性的 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/

相关文章:

javascript - 防止 <dialog> 在 Chrome 中按下 Esc 键时关闭

javascript - array.some() 方法的替代方法?

javascript - 无法将 .push() 子文档放入 Mongoose 数组

Javascript:将数组元素添加到另一个数组

javascript - vbscript 是否符合 ECMA 标准?

javascript - Node 表达父文件夹

javascript - Firefox ES6,获取类构造函数名称

javascript - 仅将 CDN 用于 Bootstrap JS 部分有什么缺点吗?

javascript - HTML View 在搜索 (ajax) 更新期间丢失状态

javascript - 将数据存储在模型中并从 Collection 和 Fetch 中调用