为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

守候你守候我 2018-10-19 11:10:53
今天在网上搜“怎样组织javascript代码”,看见有一条建议是以下是我写的示例编写一个改变元素的背景颜色的功能。//编写一个改变元素的背景颜色的功能。//用对象属性传参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');对象属性传参和闭包变量传参哪一种好?(我感觉两种方法差不多,不知道怎么取舍。)
查看完整描述

1 回答

?
阿晨1998

TA贡献2037条经验 获得超6个赞

我觉得用闭包更加复杂,但是封装性更好避免全局污染。面向对象更加直观,还是用面向对象吧


查看完整回答
反对 回复 2018-11-07
  • 1 回答
  • 0 关注
  • 495 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号