两者中的哪一种是最有效的方法
Which of the two would be the most efficient way to do it?
如果我必须使用哪一个?
- 使用方法 1,我为每个可能的参数组合创建 1 个函数,但它很容易调用。
- 对于方法 2,我只有 1 个函数,但更难调用。
注意:在实际代码中,我不会在全局范围内创建所有内容,但想法仍然相同。
//Method 1:
for(var key = 0 ; key < 1000 ; key++){
for(var i = 0 ; i < 1000 ; i++){
window[key + ' ' + i] = (function(key, i) { return function() { aFunction(key, i); } })(key, i)
}
}
//then I simply do
//window['223 111']();
//Method 2:
for(var key = 0 ; key < 1000 ; key++){
for(var i = 0 ; i < 1000 ; i++){
window[key + ' ' + i] = ['aFunction',key,i]
}
}
//then i need to do
//window[window['223 111'][0]](window['223 111'][1],window['223 111'][2]);
除非您遇到实际的性能问题,否则请追求清晰和轻松。
我可能会用.bind()
替换您的第一个版本
for(var key = 0 ; key < 1000 ; key++){
for(var i = 0 ; i < 1000 ; i++){
window[key + ' ' + i] = aFunction.bind(window, key, i);
}
}
在 IE8 及更低版本中不可用,但可以填充。
此外,您正在创建相当多的全局变量。我建议将它们全部放在命名空间对象中。
var NS = {}
for(var key = 0 ; key < 1000 ; key++){
for(var i = 0 ; i < 1000 ; i++){
NS[key + ' ' + i] = aFunction.bind(window, key, i);
}
}
NS['223 111']();
相关文章:
- 在jQuery中创建向下滑动子菜单的最有效方法
- 使用Underscore.js修改json数组中所选元素的更有效方法
- 选择具有值数组的所有元素的最有效方法
- 将JSON存储和恢复到此Ionic应用程序的最有效方法
- 将javascript数组中的项移动到特定位置的有效方法
- 将JS对象数组转换为嵌套形式的最有效方法
- 隐藏具有特定类$.each、for等的元素的有效方法
- 什么's是调用具有可变参数的函数的有效方法
- 选择具有特定数据的所有 html 标记的最有效方法是什么 - [适当性],无论值如何
- 使用 jQuery 调用 PHP 端点的最有效方法
- 这是解析 Int 的有效方法吗?
- 在JavaScript中搜索数组映射的最有效方法
- 获取字符串中最后一个换行符的最有效方法是什么
- 什么's是在两个(或多个)阵列中找到匹配的细胞序列的最有效方法
- 什么's是在IE8+中添加元素的最有效方法
- 从任何jquery选择器字符串创建元素的最有效方法
- 在日期范围内查找丢失日期的最有效方法是什么
- 对区间[1,10^12]中的整数进行编码/解码的快速有效方法是什么
- 在条件(if)结构的条件语句中是否有定义变量的有效方法
- 在ASP.NET中使用JQuery UI自动完成的有效方法