犀牛书第五版读书笔记——Chapter 3. Datatypes and Values

1.javascript中的数据类型分为基本数据类型和引用数据类型

2.基本数据类型包括number,string,boolean,null,undefined

3.引用数据类型包括object,function,array

4.有一些特殊的number,包括NaN,Infinity,Nunber.MAX_VALUE等,它们typeof的值都是number,它们的constructor是function Number(){}

5.string是不可变的,这点和java中一样

6.function func(){}这种形式相当于var func = function(){};,这2种定义函数的形式都是常用的,还有一种不常用的方式是var func = new Function();,对于较长的函数,第三种定义方式显然很不方便,在实际中也很少见

7. javascript中的Object与java中有很大不同,实际上它只是一个键值对而已,可以理解成Map这种数据结构。定义Object也有两种方式,一种是比较类似java的:var o = new Object();,另一种是用字面量的形式来定义:var o = {};。这两种定义对象的方式都是很常见的

8.由于Object只是键值对,所以创建了Object之后,可以任意增加其属性,比如o.age=23;a.name="kitty"等

9.array的typeof值是object,constructor是function Array(){},所以实际上它是一个object。但由于array很重要,所以通常也单独作为一种数据类型。定义array也有两种方式,一种是var a = new Array();,另一种是var a = {};。这两种方式都很常见,后一种用得更多一些

10.javascript中的array是弱类型的,可以将任意类型放入数组中,而不像java中的数组那样,只能放同一种类型

11.null的typeof值是object,但它没有constructor属性,null没有任何属性

12.null在boolean环境当做false使用,在数字环境当做0使用,在string环境当做"null"使用

13.undefined的typeof值是object,但它没有constructor属性,undefined没有任何属性

14.undefined在boolean环境当做false使用,在数字环境当做NaN使用,在string环境当做"undefined"使用

15.number,string,boolean这三种基本数据类型都有对应的包装类

你可能感兴趣的:(JavaScript,数据结构,读书)