@FunC
2016-10-17T11:09:30.000000Z
字数 874
阅读 2655
前端 学习笔记
JavaScript数据类型共6+1种
- 数值:包括整数浮点数
- 字符串:
- 布尔值:
- underfined:“未定义”或不存在,即此处没有任何值
- null:表示空缺,即此处应该有值,但目前为空
- 对象(object):包括狭义的对象,数组和函数
- Symbol(ES6种加入)
JavaScript中所有的数据都可以视为广义的对象!
typeof null;//“object”
目前null和underfined基本同义,null特殊在typeof返回的是object。但并不是说null就是一个对象
null表示空值,即该处的值现在为空。比如,调用函数时,不需要传入某个参数,这时就可以传入null。
underfined表示“未定义”。下面是返回underfined的经典场景
// 变量声明了,但没有赋值var i;i // undefined// 调用函数时,应该提供的参数没有提供,该参数等于undefinedfunction f(x) {return x;}f() // undefined// 对象没有赋值的属性var o = new Object();o.p // undefined// 函数没有返回值时,默认返回undefinedfunction f() {}f() // undefined
以下六个之会转为false,其余值都视为false
- undefined
- null
- false
- 0
- NaN
- ""或''(空字符串)
需要特别注意的是,空数组([])和空对象({})对应的布尔值,都是true
原始类型的值主要是字符串、布尔值、undefined和null,它们都能被Number转成数值或NaN。
Number函数比parseInt函数严格,前者只要有一个字符无法转成数值,整个字符串就转为NaN。而后者会逐个解析字符。
Number函数会自动过滤一个字符串前导和后缀的空格。
如:
Number('\t\v\r12.34\n') // 12.34
