javascript中是用对象的属性来传参好还是用闭包内的变量来传参好?

今天在网上搜“怎样组织javascript代码”,看见有一条建议是

https://img1.mukewang.com/5be286af0001c7c205630146.jpg

以下是我写的示例
编写一个改变元素的背景颜色的功能。

//编写一个改变元素的背景颜色的功能。//用对象属性传参var style_obj = {
    $elem:null,    //使用对象属性存放数据
    change_bg:function(color) {        //改变背景颜色
        $elem.css('background',color);
    },
}

style_obj.$elem = $('#abc');
style_obj.change_bg('#f00');
//用闭包内的变量传参var style_obj = (function() {    var $elem = null;    //使用局部变量存放数据
    return {
        update_$elem:function(e) {    //更新$elem的值
            $elem = e;
        },
        change_bg:function(color) {    //改变元素的背景颜色
            $elem.css('background',color);
        }
    };
})();
style_obj.update_$elem($('abc'));
style_obj.change_bg('#f00');

对象属性传参和闭包变量传参哪一种好?(我感觉两种方法差不多,不知道怎么取舍。)


守候你守候我
浏览 496回答 1
1回答

阿晨1998

我觉得用闭包更加复杂,但是封装性更好避免全局污染。面向对象更加直观,还是用面向对象吧
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript