浏览 2466 次
锁定老帖子 主题:简洁的js
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-11-22
最后修改:2008-11-20
假如有这样一个函数,要求 也可以这样 扩展开来,当输入中有两个参数时可用二维数组实现, xieye
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-11-22
扩展一下可以这么写:
[code]function callfun(key){
({
a:function(){
alert("a");
},
b:function(){
alert("b");
}
}[key])();
}
callfun("a");[/code]
不过效率低下
|
|
返回顶楼 | |
发表时间:2007-11-22
我做了测试:
java 代码
|
|
返回顶楼 | |
发表时间:2007-11-22
function callfun(key)
{
({
a: function()
{
alert("a");
},
b: function()
{
alert("b");
}
}[key])();
}
callfun("b");
替楼上格式化,
这样,无论哪个函数被调用到,所有的函数都要被解析一下。
为什么我总是看自己的代码很满意,对别人的代码挑剔?本性。
|
|
返回顶楼 | |
发表时间:2007-11-22
我又试验了这种写法:
java 代码
|
|
返回顶楼 | |
发表时间:2007-11-22
搂主不是挑剔你的代码,的确挺简洁的,也很巧妙,可是效率太低,如果不说出来,导致别人代码效率低下怎么办?的确不太适合频繁调用的情况
|
|
返回顶楼 | |
发表时间:2007-11-22
那就不要在对象里定义函数好了。
只使用在小数据,小对象的情况下,并且里面都是常量。
限制这种技巧的使用范围。
|
|
返回顶楼 | |