猿问

js:{}与new Object()的区别是什么?

RT
javascriptvara={};
varb=newObject();
这两种创建对象方式的区别是什么?
=====
的确从测试效果来看,{}会快一点。但是为什么{}会比newObject()快呢?
开心每一天1111
浏览 306回答 2
2回答

湖上湖

{}这个叫做对象字面量如果newObject()中没有传入参数,与{}是一样的。但是如果传入不同的参数,会有不同的效果。传入String返回String,类似newString()传入Number返回Number,类似newNumber()传入Object返回Object,其实没啥用当然还有其他的,比如传入数组等等~基本都是返回传入的类型,并且传入前后的对象是不变的,也就是不会进行一次拷贝。也就是如下代码vara={test:1};varb=newObject(a);a==b;//true也就是如上的效果

aluckdog

實驗缺乏對照組。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)
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答