JavaScript 是一种弱类型语言
基本数据类型
基本类型是按值访问
- Undefined
使用var 声明变量但未对其加以初始化 - Null
更像是一个空对象指针,
(typeof null --> " object") - Boolean
- Number
- 浮点数
- 数值范围 Infinity Number.MAX_VALUE isFinite()
- NaN 不与任何值相等 isNaN()
- 数值转换
- Number()
- parseInt() ---> ("123ed" -> 123) (23.12 - > 23 ""-> NaN)
- parseFloat()
- String
- toString()
复杂类型Object
Object实例具有下列属性和方法
- constructor : 保存用于创建当前对象的函数
- hasOwnProperty(propertyName)检查给定的属性在当前对象实例中是否存在
- isPrototypeOf (object)检查传入的对象是否是当前对象的原型
- toLocalString() 返回对象字符串的表示
- toString() 对象的字符串表示
- valueOf() 返回对象的字符串、数值或者布尔值
全等和不全等
== 与 === 区别
console.log(null == undefined) // true
console.log(null === undefined) // false
typeof 检测类型与instanceof
typeof 返回的类型
- undefined
- boolean
- string
- number
- object
- function
instanceof 对于对象返回它的具体对象名称
variable instanceof constructor
?? 原型链对该操作的影响