JavaScript 基础知识查漏补缺(持续更新)
数据类型
var bool = '4.3' > '11'
console.log(bool)
// 结果为true,二者都为字符串,字符串之间对比的是ASCII码,从左往右依次对比,4的ASCII码比1大
var bool = NaN == NaN
console.log(bool)
// 结果为false,NaN与包括自己在内的任何东西都不相等
// 除了 undefined 、 null 、 NaN 、 "" ?、0 、false 以外都是真
typeof([]) //结果为 object 这里理解为 引用类型
/** 分割线 */
typeof(a) //结果为undefined
typeof(typeof(a)) // 结果为string,任何数据类型使用typeof得到的结果都是string typeof得到的是数据名,数据名typeof得到的结果永远都是string
数据类型转换规则
Number(true) // 1
Number(null) // 0
// 详情看上图
Number(undefined) // NaN
// parseInt只会转换数字,不会将boolean类型的值转换为数字类型
parseInt(true) // NaN
parseInt('abc123') // NaN
// parseInt会从左往右匹配,直到非数字类型退出
parseInt('123abc') // 123
// undefined 既不大小于0,也不等于0,undefined与null互相等于
var a = undefined == 0; // false
var b = null == 0; // false
var c = undefined == null; // true
isNaN(null) // false null 转换为数字 0,0不为非数
isNaN(undefined) // true undefined 转换为数字 NaN