例如,假设我有一个名为str
. 我知道我可以使用str.substr
,因为浏览器,在幕后,
- 转换
str
成字符串包装对象,相当于使用new String(str)
- 使用步骤 1 返回
substr
的对象上的正确参数调用方法String
String
对象的处置- 从步骤 2 返回字符串(原始)。
(https://stackoverflow.com/a/9110389/1529630)
但是如果我想str.substr
多次使用会发生什么?例如
var positions = [1, 5, 8, 9, 15, ...], //long array
substrings = new Array(positions.length);
for ( var i = positions.length - 1; i >= 0; --i ) {
substrings[i] = str.substr(positions[i], 2);
}
我是否应该str
在该循环之前转换为对象以避免在每一步都创建和销毁对象?