刚开始就准备二刷JS高程

2016-11-09  本文已影响17人  大水啊大水

区分大小写
松散类型的变量,只会存值不会标记变量类型,关键字var
变量类型:Undefined, Null, String, Number, Boolean, Object
typeof返回:undefined, object, string, number, boolean, function
typeof是操作符,并不是函数,typeof nulltypeof(null)都可以,null是空的对象指针,返回object;未定义的变量使用typeof并不会报错

var message
console.log(message)  //undefined
console.log(age)  //undefined

Undefined类型只有一个值:undefined,没有初始化的变量都会保存undefined
Null类型只有一个值:null,如果定义的变量准备在将来用于保存对象,那么最好将该变量初始化为null而不是其他值;'undefined'派生自'null'

console.log(undefined == null)  //true

Booleantrue, false(注意区分大小写,TrueFalse就只是普通的标识符);可以使用Boolean()将任意类型的值转换为Boolean值,列举出false的情况如下

//String
console.log('')  //false
//Number
console.log(0)  //fasle
console.log(NaN)  //false
//Object
console.log(null)  //false
//Undefined
console.log(undefined)  //false

if判断自动执行Boolean转换

var message = 'message'
if(message) {//true}

Number:数字首位为0表示八进制(严格模式不支持),类似078会当做十进制数值;0x表示十六进制,a-f可大写也可小写;浮点数精度为17位小数,永远不要测试某个特定的浮点数值(0.1+0.2 != 0.3);最大值Number.MAX_VALUE,最小值Number.MIN_VALUE,如果超出范围将自动转换成正无穷Infinity(Number.POSITIVE_INFINITY,不能参与计算)或负无穷-InfinityNumber.NEGATIVE_INFINITY,不能参与计算),判断数值是否超出范围使用isFinite(),超出范围返回falseNaN与任何值都不相等,包括他自己

console.log(NaN == NaN)  //false

判断是否不是数值,使用isNaN(),不能转换为数值返回true

上一篇 下一篇

猜你喜欢

热点阅读