在速度优势、清晰度优势、内存优势等方面,将数字转换为字符串的“最佳”方法是什么?
以下是一些示例:
String(n)
n.toString()
""+n
n+""
在速度优势、清晰度优势、内存优势等方面,将数字转换为字符串的“最佳”方法是什么?
以下是一些示例:
String(n)
n.toString()
""+n
n+""
Number
对象,然后调用 toString()
方法。
Number.call(null, n).toString()
你也可以使用这个技巧来处理其他 JavaScript 原生对象。" + num
慢。使用node.js时似乎会得到类似的结果。我运行了这个脚本:
let bar;
let foo = ["45","foo"];
console.time('string concat testing');
for (let i = 0; i < 10000000; i++) {
bar = "" + foo;
}
console.timeEnd('string concat testing');
console.time("string obj testing");
for (let i = 0; i < 10000000; i++) {
bar = String(foo);
}
console.timeEnd("string obj testing");
console.time("string both");
for (let i = 0; i < 10000000; i++) {
bar = "" + foo + "";
}
console.timeEnd("string both");
并获得了以下结果:
❯ node testing.js
string concat testing: 2802.542ms
string obj testing: 3374.530ms
string both: 2660.023ms
每次运行时都是类似的时间。