我正在环顾四周,看到这个页面在创建变量时使用String
和Array
构造函数。
这与不使用它们有何不同?
示例:
var str = "string"; // How I'd normally do it.
var str = new String("string"); // How they did it.
var arr = ["Array", "Item"]; // How I'd normally do it.
var arr = new Array("Array", "Item"); // How they did it.
这两者究竟有何不同?
答案 0 :(得分:3)
var str = "string"; // typeof string
这表示为内存块,如果您不想在其上调用成员,请使用它
var str = new String("string"); // typeof object
这是一个盒装对象,它消耗的资源略多,但是如果你打电话就是那样。
"Hello".length;
JS解析器必须首先从字符串内存创建盒装对象,然后调用方法,这甚至更慢。
数组语法始终是JS中的盒装对象:[]
只是new Array()
AFAIK的语法简写。嗯,差不多:请看下面的zzzzBov评论。