javascript - OOP Javascript父对象方法还是对象?

标签 javascript

var O = {

    elements: {

        main: function() { return jQuery("#main"); },
        footer: function() { return jQuery("#footer"); }
    },

    main: function(html) {

        return (this.elements.main());
    },


    style: {

        setMaincolor: function() {

            // TypeError: Cannot call method 'main' of undefined
            return (this.elements.main());

        }

    }    

};

所以;我是 O.style Object parents Objects ????

O.style.setMaincolor() // TypeError: Cannot call method 'main' of undefined
O.main() // [<div id=​"main">​</div>​]

setMaincolor 方法返回 O 对象

最佳答案

this 引用调用方法的对象。

main() 是在 O 对象上调用的,所以 this 是对 O 的引用。因此 this.elements === O.elements

setMaincolor() 是在 style 对象上调用的,因此 this 将是对 O.style 的引用>,它没有 .elements 属性。

关于javascript - OOP Javascript父对象方法还是对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12624173/

相关文章:

javascript - 矩形删除并放置错误 net::ERR_NAME_NOT_RESOLVED

javascript - 如何切换到不同的日期格式?

javascript - 如果日期不为空且日期不为 '0000-00-00' 的条件

javascript - 在javascript中循环调用函数

javascript - 如何使状态栏/地址栏在 Firefox 或 IE 中消失?

javascript - 如何在客户端设置自定义验证器 isValid 属性?

javascript - 网站无法正常工作的向上滚动按钮

javascript - 获取 props 值的子字符串 - React

javascript - WebGL - 带高度图的纹理地形

php - 为什么 PHP 生成的 Javascript 不能在通过 AJAX 加载的文件中工作?