而不是做
my_var = my_var+'extra string';
Run Code Online (Sandbox Code Playgroud)
有没有像.=在php中的简写方法?
npu*_*pup 23
使用 +=
var s = 'begin';
s += 'ning';
Run Code Online (Sandbox Code Playgroud)
性能提示(注意 - 此建议对IE6有效,但在2014年不再值得担心)
如果您正在编写一些Javascript代码来构建一个长字符串(比如,一个相当大的HTML块,或者一个ajax请求的长参数列表),那么就不要养成这样做的习惯:
var longString = "";
for (var i = 0; i < someBigNumber; ++i) {
if (i > 0) longString += "<br>" + whatever;
longString += someMoreStuff();
}
Run Code Online (Sandbox Code Playgroud)
随着longString时间越来越长,Internet Explorer将在循环的每次迭代中越来越难.即使someBigNumber不是那么大,那个循环的表现也可能非常糟糕.
幸运的是,有一个简单的选择:使用数组:
var accumulator = [];
for (var i = 0; i < someBigNumber; ++i) {
accumulator.push(someMoreStuff());
}
var longString = accumulator.join("<br>" + whatever);
Run Code Online (Sandbox Code Playgroud)
方式,在Internet Explorer中比重复的字符串附加更快.
| 归档时间: |
|
| 查看次数: |
10809 次 |
| 最近记录: |