关于javascript数据类型的疑问

我看了一些javascript书中都是如下讲解数据类型的

主要(基本)数据类型是:

字符串
数值
布尔
复合(引用)数据类型是:

对象
数组
特殊数据类型是:

Null
Undefined

我的疑问是:为什么数组与对象是并列的,数组不也是一种对象类型吗?它有属性与方法的.

2006/1/19

今天看了oreilly的javascript的权威指南,终于把以前对js数据类型的一知半解,彻底搞懂了。在本书的3.12 Primitive Data Type Wrapper Objects小节,有关于这些的最好说明,js中的字符串与java的字符串不同:在js中字符串是作为一种基本数据类型的,直接赋值的方法就是基本类型(比如s="abc"),其对应的有一个基本类型包装器String对象(使用方式是s=new String);而在java中,则没有区分这种,无论哪种方式都是字符串对象(除了StringBuffer),对于其他基本类型都是一样的(比如Boolean,Number,Array)。

本小节的有一个关于字符串的经典解释:

var s = "abc";这个语句只是声明了一个基本字符串类型的变量

var l = s.length;在执行到这句话时,解释器会产生一个s变量的临时字符串对象,计算出变量l的值后,这个临时对象就会被清除。

关于这些,我也不想说的太多,具体可以参看js权威指南,很精彩。



你可能感兴趣的:(JavaScript)