1、undefined :
①使用var声明变量但未初始化
②区分空对象指针与尚未定义的变量
③对未初始化的变量及未声明的变量使用typeof运算符均会返回undefined
2、null:逻辑上null表示一个空对象的指针,使用typeof检测时会返回object
undefined与null的关系:
①undefined派生于null,因此在使用“==”进行比较时会返回true
②没有必要将变量值显示声明undefined
③声明空对象时应将其值赋值为nullundefined与null的关系:
3、boolean:
①true为真,false为假
②true不一定=1,false不一定=0
③使用Boolean()进行转换:
1)转换为true:任何非空字符串、任何非零数值、任何非空对象
2)转换为false:空字符串、0及NaN、null及undefined
4、string:
①特性:
1)由0个或多个16位Unicode字符组成
2)单引号与双引号不能交叉使用
3)使用.length属性访问字符串长度
A)转义序列表示一个字符
B)无法精确返回双字节字符长度
4)字符串一旦被创建,其值将不能改变,若要改变必须销毁原有字符串
②转义序列
1) \n 换行
2) \t 制表符
3) \b 空格
4)\f 分页符
5)\\ 斜杠\
6)\' 单引号
7)\" 双引号
8)\xnn 十六进制数,n代表0~F
9)\unnnn 以十六进制代码表示一个Unicode字符
③类型转换
1)toString()
A)使用类型:number、boolean、string、object
B)参数:number类型的数值基数
2)String()
A)null
B)undefined
3)eval() 计算字符串表达式的值并以数值形式返回
5、number
①进制
1)十进制
2)八进制
A)前导 0
B)有效序列 0~7
C)超出范围:前导位0被忽略、后续数值以十进制计数
3)十六进制
A)前导 0x
B)有效序列 0~9、A~F
②浮点数
1)小数点后至少一位数字
2)科学计数法
A)小数点后带有6个0的浮点数
B)以e为底*10的+_(正负)N次幂
3)最高精度 :17位小数
4)缺陷:存在舍入误差、无法测试特定浮点数值
③数值范围:
1)最小值:Number.MIN_VALUE
2)最大值:Number.MAX_VALUE
3)超出范围:
A)正无穷:Infinity、Number.POSITIVE_INFINITY
B)负无穷:-Infinity、Number.NEGATIVE_INFINITY
C)缺陷:无法参与下一次计算
D)检测方法:isFinite() false(超出范围) true(合法范围)
④NaN
1)含义:Not a Number
2)特性:任何涉及NaN的操作都将返回NaN、NaN与任何数值都不相等包括其自身
3)检测:isNaN() :false (可以转换为数值) ture(不能转换为数值)
⑤数值转换
1)Number()
A)Boolean:ture(1) false(0)
B)null:0
C)undefined:NaN
D)String:只包含数字(十进制数、前导0倍忽略)、包含有效浮点格式(浮点数值、忽略前导0)、包含有效十 六进制格式(相同大小的十进制整数)、空字符串0、其他格式字符串NaN
E)object:valueOf() 、toString()
2)parseInt()——转换为整数
A)特性:忽略前置空格、直接找到第一个非空格字符(不是数字字符或负号NaN、数字字符—解析所有后续字 符以及遇到非数字字符结束)、小数点不是有效数字
B)参数(参数1—要解析的字符串、参数2—转换时所使用的基数)
3)parseFloat():从第一个字符开始解析,遇到无效浮点格式后结束,只有第一个小数点有效,忽略前导0,十六进制 数始终为0,没有小数点或小数点后全0
6、object
①定义:一组数据或功能的集合
②声明:var O = new Object()
③属性与方法:
1)Constructor——保存用于创建当前对象的函数
2)hasOwnProperty(propertyName)——检测给定属性在当前对象实例中是否存在
3)isPrototypeOf(object)——检测传入的对象是否是另一个对象的原型
4)propertyIsEnumerable(propertyName)——检测给定属性是否能用for-in语句枚举
5)toLocaleString()——返回对象的字符串表示,该字符串与执行环境的地区对应
6)toString()——返回对象的字符串表示
7)valueOf()——返回对象的字符串、数值或布尔值表示;通常与toString()的值相同