数据类型
5种简单数据类型(undefined、null、boolean、number、string)和1种复合数据类型Object
5种简单数据类型
undefined
1.使用var声明变量,但未初始化时
var box;
alert(box);//undefined
2.未初始化的变量和不存在的变量是不一样的
var box;
alert(box);//undefined
alert(age);//报错:age is defined
3.undefined派生自null,所以
alert(undefined == null);//true
null
1.表示一个空对象引用(指针)
number
1.JavaScript中特殊的数字类型:
类型 | 描述 |
---|---|
Infinity | 无穷大 |
NaN | 特殊的非数字值 |
Number.MAX_VALUE | 可表示的最大数字 |
Number.MIN_VALUE | 可表示的最小数字 |
Number.NaN | 特殊的非数字值 |
Number.POSITIVE_INFINITY | 正无穷大Infinity |
Number.NEGATIVE_INFINITY | 负无穷大-Infinity |
2.isFinite()方法
isFinite()判断一个数值是否超过了规定范围
3.inNaN()方法
isNaN()判断值到底是不是NaN
isNaN()函数在接收到一个值之后,会尝试将这个值转换为数值
isNaN(NaN);//true
isNaN(25);//false,25是一个数值
isNaN(‘25’);//false,’25’虽然是一个字符串,但是可以转换成数值
isNaN(‘Lee’);//true,’Lee’不能转换成数值
isNaN(true);//false,true可以转成数值1
4.Number()方法
5.parseInt()方法
6.parseFloat()方法
typeof操作符
typeof操作符,用来检测变量的数据类型,返回值是字符串
字符串 | 描述 |
---|---|
undefined | 未定义 |
boolean | 布尔值 |
string | 字符串 |
number | 数值 |
object | 对象和null |
function | 函数 |
其他类型转换成boolean类型规则
数据类型 | 转换为true的值 | 转换为false的值 |
---|---|---|
boolean | true | false |
string | 任何非空字符串 | 空字符串 |
number | 任何非零数值(包括无穷大) | 0和NaN |
object | 任何对象 | null |
undefined | undefined |
instanceof关键字
instanceof用于判断一个变量是否为某个对象的实例
1.父类
var a = new Array();
alert(a instanceof Array);//true
alert(a instanceof Object);//true,因为Array是Object的子类
2.自定义对象
function Person(){}
var a = new Person();
alert(a instanceof Person);//true
3.function中的arguments不是一个Array对象
function test(){
alert(arguments instanceof Array);//false
}
4.window对象
alert(window instanceof Object);
//IE8 false
//Google true
所以,这里instanceof测试的object是指js语法中的object,不是指dom模型对象