我看了一些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权威指南,很精彩。