RTjavascriptvara={};varb=newObject();这两种创建对象方式的区别是什么?=====的确从测试效果来看,{}会快一点。但是为什么{}会比newObject()快呢?
2 回答
湖上湖
TA贡献2003条经验 获得超2个赞
{}这个叫做对象字面量如果newObject()中没有传入参数,与{}是一样的。但是如果传入不同的参数,会有不同的效果。传入String返回String,类似newString()传入Number返回Number,类似newNumber()传入Object返回Object,其实没啥用当然还有其他的,比如传入数组等等~基本都是返回传入的类型,并且传入前后的对象是不变的,也就是不会进行一次拷贝。也就是如下代码vara={test:1};varb=newObject(a);a==b;//true也就是如上的效果
aluckdog
TA贡献1847条经验 获得超7个赞
實驗缺乏對照組。varObj=function(){};vara={};varb=newObject();varc=newObj();這樣纔可以。結果c遠快於a和b,a略快於b。然而varVec=function(a,b){this.a=a;this.b=b;}newVec(1,1)快於newObj;o.a=1;o.b=1;和{a:1,b:1}注:以上測試平臺均爲chrome看樣子不同瀏覽器差異很大,不過newObject和對象字面量一如既往地慢倒是不爭的事實。最穩妥的方案目前是newVec(1,2)
添加回答
举报
0/150
提交
取消