1. JS中的基本数据类型:数字、字符串、布尔、null、undefined
2. JS中的复合数据类型(对象)分为:自定义对象、函数、专用对象(JS自带的对象如Date、RegExp)
3. 特殊的数字
Infinity
|
表示无穷大的特殊值
|
NaN
|
特殊的非数字值
|
Number.MAX_VALUE
|
可表示的最大数字
|
Number.MIN_VALUE
|
可表示的最小数字(与0最接近的数字)
|
Number.NaN
|
非数字
|
Number.POSITIVE_INFINITY
|
表示正无穷的特殊值
|
Number.NEGATIVE_INFINITY
|
表示负无穷的特殊值
|
4. 字符串:由单引号或双引号括起来的Unicode
5. 数字转换为字符串常用的方法
l toString()
l toFixed()
l toExponential()
l toPrecision()
toString()方法有一个可选的参数指定转换的基数,不写参数默认为10,基数可以是2到36之间的数。
toFixed()指定小数点后的位数的方法,不使用指数表示法
toExpnential()一位整数并指定小数点的位数地方法,使用指数表示法
toPrecision()指定显示数字的总位数,使用指数表示法
6. 字符串转换为数字常用的方法
l parseInt()
l parseFloat()
这两个方法都是从字符串的开始处转换和返回任何的数字。忽略或舍去非数字部分,并且第二个参数为可选参数指定要转换的基数,parseInt只截取整数部分
7. JS中的函数不仅可以表示行为,还可以表示数据(一个特殊的对象var f = new Function(“x”,”return x*x”);),函数最常用的一种方式是function f = new function(){}
8. 对象是已命名的数据的集合,对象中属性值可以是任意的JS表达式,属性名可以是字符串和标示符,例如:var p = {“X”:2.3,”Y”:1.2}; var p = {x:2.3,y:1.2};,但是有一种特殊情况属性名可以为数字p[0]=1.2;当一个对象用于访数组的时候就是这样做的。
9. 对象的转换:当一个对象用布尔环境时转换为true,当用于字符串环境时调用对象的toString()方法,当用于数字环境时该对象首先调用对象的valueOf()方法,如果这个方法返回一个基本类型的值,这个值会被使用,然而,在大多数情况下,valueOf()方法返回的是对象自己,这种情况下JS首先使用toString()方法把对象转换为一个字符串,然后,再视图把该字符串转换为一个数字
10. 数组和对象一样是数值的集合,所不同的是,对象中的每个数值都有一个名字,而数值的每个数值有下标。var a = new Array();a[0]=1.2;a[1]=2.3;也可以这样写: var a =[1.2,2.3];
11. null表示“无值”,当null用于布尔环境为false,用于数字环境为0,用于字符串环境为”null”
12. undefined表示一个并未声明的变量,或者使用了已经声明还没有赋值的变量时,又或者是一个并不存在的对象的属性,虽然undefined和null值不同,但是==运算符将两者看做相等,===运算符看做不相等
13. 类型转换表:
值
|
值所使用的环境
|
字符串
|
数字
|
布尔
|
对象
|
未定义的值
|
Undefined
|
NaN
|
False
|
Error
|
Null
|
Null
|
0
|
False
|
Error
|
非空字符串
|
不变
|
字符串中的数字或NaN
|
True
|
String
|
空字符串
|
不变
|
0
|
false
|
String
|
0
|
“0”
|
不变
|
False
|
Number
|
NaN
|
“NaN”
|
不变
|
False
|
Number
|
无穷
|
“Infinity”
|
不变
|
True
|
Number
|
负无穷
|
“-Infinity”
|
不变
|
True
|
Number
|
其它任意数字
|
数字的字符串值
|
不变
|
True
|
Number
|
True
|
“true”
|
1
|
不变
|
Boolean
|
False
|
“false”
|
0
|
不变
|
Boolean
|
对象
|
toString()
|
Valueof(),toString()或者NaN
|
True
|
不变
|
14. 基本数据类型的包装对象,就是字符串、数字、布尔这些基本数据类型在使用的时候都可以使用与之对应的对象的方法,在使用瞬间会转换为对应的对象,使用结束转换为基本数据类型。
15. 传值和传址:传值就是把原来的数据值复制一份传给另一个变量,复制的和原来的相互独立。传值就是把原来的地址传递给变量,此地址就是原来的地址,所以对此地址中数据的改变会影响到原来地址中数据。
16. 值类型和引用类型:JS中的值类型有数字和布尔两种,引用类型有对象。字符串虽然是引用类型但是很特殊,使用时和C#中的字符串一样。值类型的操作属于传值操作,引用类型的操作属于传址操作。