js中var a=new Object()和var a=有啥区别吗?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js中var a=new Object()和var a=有啥区别吗?相关的知识,希望对你有一定的参考价值。

可以讲高深点噢,我就是想深入学习的。

应该是没有区别的,两者都是生成一个默认的Object对象。js和其它语言一样,一切对象的基类都是Object,所以,new Object()和简易的是同样的空对象,就是默认的对象。本来我以为应该是一个没有任何属性和方法的对象,但事实证明,var a = ,a.toString()等Object对象所具有的方法,a都具有。由此也可以判断,其实a = 就是a = new Objcet()的简单实现。就像在java语言中,String str = ""和String str = new String()都是创建String的对象一样。 参考技术A 初始化的过程上有区别,前者是用构造函数实例化对象,后者是直接创建JSON对象,后者的初始化比较方便,可以在初始化的时候同时赋值。
而两种方法创建的对象在使用上都是一样的,所以使用的时候都建议用后者,比较高效。本回答被提问者和网友采纳
参考技术B js里边一切对象都是从Object继承来的,当要构建1个空对象时,用new Object()也是常见的一种方法。js的api里只会跟你说Object的几个属性和方法,由于这是1个基类,也没啥意思。 参考技术C 赋值过程是一样的 但是值的类型不一样

js 中 new Array() var a={} var a=[] new Object()

var a={};
new Object();

表示定义一个空对象;

new Array();
var a=[];

表示定义一个空数组;

 

其他:

数组表示有序数据的集合,而对象表示无序数据的集合;

在Javascript语言中,关联数组就是对象,对象就是关联数组。这一点与php语言完全不同,在php中,关联数组也是数组。

单个对象是没有length属性的,所以不能a.length求长度;数组可以;

以上是关于js中var a=new Object()和var a=有啥区别吗?的主要内容,如果未能解决你的问题,请参考以下文章

js 中 new Array() var a={} var a=[] new Object()

js中的var a = new A;与var a = new A()的区别

JS可否 var a[id] = new init();创建对象数组、进行赋值?

javascript中var s=new fun; 和var s=new fun();有啥区别?

Javascript“var obj = new Object”在C#中的等价物

JS中var abc = new Number(68);与var abc = 68;有啥本质上的区别吗?