typeof
- 基本类型返回的都是小写的字符串
- 引用类型无法区分是普通对象还是数组对象,返回都是
'object'
,函数是'function'
typeof []; // 'object'
typeof {}; // 'object'
typeof true // 'boolean'
typeof 1; // 'number'
typeof NaN; // 'number'
typeof '' // 'string'
typeof null // 'object'
typeof undefined // 'undefined'
typeof function () {}; // 'function'
instanceof
Object.prototype.toString.call()
Object.prototype.toString() // '[object Object]'
Object.prototype.toString.call() // "[object Undefined]"
Object.prototype.toString.call([]) // '[object Array]' 注意第二个是大写开头
Object.prototype.toString.call({}) // '[object Object]'
Object.prototype.toString.call(true) // '[object Boolean]'
Object.prototype.toString.call(1) // '[object Number]'
Object.prototype.toString.call(NaN) // '[object Number]'
Object.prototype.toString.call('') // '[object String]'
Object.prototype.toString.call(null) // '[object Null]'
Object.prototype.toString.call(undefined) // '[object Undefined]'