浏览 2667 次
锁定老帖子 主题:Map array 和 array
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2009-06-11
竟然有很多人 说没有什么区别,我很是疑惑。。。。 var mapArray = { key1: content1, key2: content2 }; var array = new Array(); array[0] = new Array(); array[0][0] = "1"; array[0][1] = "2"; mapArray 是一个key值 和 content 值相对应的数组对象 而 array 虽然将array[0]作为一个新的数组了,可它依然是个普通的数组啊。。。 不明白很多人为什么会说他们是一样的,没什么区别,说在开发中根本不会遇到。。。 从我开发到今天来看 已经遇到过不少这样的用法了,,。。。 比如我们要写一个通用方法 以css 为例 function setCss(elem, options){ if( options && typeof options == 'object' ){ for( var name in options ){ var nameCase = name.replace(/\-(\w)/g, function(all, letter){ return letter.toUpperCase(); }); elem.style[nameCase] = options[name]; if( jPack.browser.msie && name == 'opacity' ) elem.style.filter = 'alpha(opacity='+options["opacity"]*100+')'; } } } 这个地方options 参数就应该传一个 mapArray 进来才方便使用啊。。。。。。。 调用: setCss("demo1", {"width": "100px", "height": "50px"}); 这样的例子不就最好的应用了mapArray 了吗? 如果不用关联性的数组,我们要一个个的去添加? setCss1("demo1", "100px", "50px"); 这样即不方便别人使用,自己写方法的时候也需要大量的代码。。。。 个人愚见。。。希望大家来讨论。。。 至于复杂度,我就暂时没有把它考虑进来讨论了。。。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2009-06-13
js中,这种map方式传递参数,真的简便了许多,同时结合 default 和extends 就
完全实现了默认参数的处理,而且还优雅的解决了 空值的问题. 用起来很顺手,而且参数的含义也很清晰 |
|
返回顶楼 | |
发表时间:2009-06-13
ming500 写道 js中,这种map方式传递参数,真的简便了许多,同时结合 default 和extends 就
完全实现了默认参数的处理,而且还优雅的解决了 空值的问题. 用起来很顺手,而且参数的含义也很清晰 是啊。我也是这么觉得的。。。在某些情况下这种方式的确非常直观。 可是那天看帖子。。却有好多人。。说这种 Map 是没有必要的。。。 |
|
返回顶楼 | |