javascript - 当我从另一个对象调用它时对象未定义

标签 javascript arrays oop javascript-objects

我得到了错误

Uncaught TypeError: Cannot read property 'render' of undefined

当我调用函数 listView.render() 时,它在第 29 行

感谢帮助

var model =  {
    // the array with cats names
    cats: ['mew', 'meo', 'meaw', 'memaw', 'mesaw', 'metaw'],
    // The array of cats objects
    Cats: []
    }


var oct = {
    // selecting the list on the left of the container
    catsList: function () {
         return document.querySelector('#catsList');
    },
    //selecting the cat display div
    catsDisplay: function () {
         return document.querySelector('#catsDisplay');
    },
     // creating the Cat object and push it to the Cats array
    addCat: (function (arr) {
         for (var i = 0; i < arr.length; i++) {
            model.Cats.push((function (n) {
                return {
                name: n,
                photo: n + '.jpg',
                score: 0
                };
             }(arr[i])));
     listView.render(model.Cats[i]);
         };
    }(model.cats))
}

var listView = {
    render: function (CatObj) {
         oct.CatList.innerHTML = "<div id='"+CatObj.addCat.name+"'>ss</div>"
    }
}

最佳答案

listView 正在被提升并设置为 undefined。所以在这里 listView.render(model.Cats[i]); , listViewundefined

关于javascript - 当我从另一个对象调用它时对象未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35660039/

相关文章:

c++ - 奇怪的字符数组行为

oop - 迭代父类(super class)型集合时的类型转换。备择方案?

javascript - Internet Explorer 和 Base64 图像显示

c++ - Visual C++ 关心函数参数中的数组大小。那是对的吗?

javascript - 使用 jQuery 合并 2 个表

arrays - 什么是一致数组?

Python - 从输入获取子类。我必须编写一个单独的函数吗?

c++ - 创建一个使用模板创建类或子类对象的函数

javascript - 页面刷新导致用户在angular js中自动注销

Javascript 数组多维推送?