- String
- Number
- Boolean
- Undefined
- Object (对象或Null)
- Function
注意:null属于object类型
Number类型包含整型和浮点型。浮点型最高精度是17位,算术运算中可能会出现不精确问题,因此做判断的时候要考虑到这个问题。如:
console.log(0.1+0.2) //0.30000000000000004Number.MIN_VALUE最小值,Number.MAN_VALUE最大值,超过最大值或最小值显示Infinity或-Infinity, isFinite()判断是否超出最值,true为未超出false为超出。
var num= 10e10
console.log(isFinite(num)) //trueNaN,即非数值,用于表示一个本来要返回数值的操作数未返回数值的情况
var num=0/0
console.log(num) //NaN
console.log(NaN == NaN) //false 因为有可能是除0返回NaN,有可能是非数值返回NaNisNaN()判断值是否为NaN
console.log(isNaN('jacome')) //true科学计数法
var num=5.201314e10 //52013140000
var num=0.000000052 //5.2e-8Boolean类型只有true和false两个值,而true不一定等于1,false不一定等于0。如:console.log(true == 1) //true
console.log(true === 1) //false虽然Boolean类型的值有true和false两种,但是ECMAScript中所有类型的值都有与这两个Boolean值等价的值。要将一个值转换为其对应的Boolean值,可以使用Boolean()方法进行强制转换也可以进行隐式转换。如:
var test = 'jacolm'
if(test){ //进行隐转换
console.log('true')
}else{
console.log('false')
}
//true
test非空时为true,空值是为false其他类型转换为Boolean图
typeof操作符可以操作变量,也可以操作字面量。虽然可以这样使用:typeof(test),但是typeof是操作符并非内置函数。