let arr = [1,2,3,4]
let obj = {
name:'linda'
}
let fn = function(){
console.log("function")
}
**console.log(typeof arr); //object **
console.log(typeof obj)//object
console.log(typeof fn)//function
** console.log(typeof Array); //function
console.log(typeof Function)//function
console.log(typeof Object)//function**
对象和函数是可以通过typeof来判断的
数组通过typeof也是object,所以数组一般情况下可以用instanceof来判断。
代码如下:
var e= {a:'1'};
console.log(typeof e); //object
var f= function(){};
console.log(typeof f);//function
var g=[1,2,3]
console.log(g instanceof Array)//true
或者通过一下方式:
var getObjType = obj => {
var toString = Object.prototype.toString
var map = {
'[object Boolean]': 'boolean',
'[object Number]': 'number',
'[object String]': 'string',
'[object Function]': 'function',
'[object Array]': 'array',
'[object Date]': 'date',
'[object RegExp]': 'regExp',
'[object Undefined]': 'undefined',
'[object Null]': 'null',
'[object Object]': 'object'
}
return map[toString.call(obj)]
}
有帮助麻烦点个采纳【本回答右上角】,谢谢~~
因为都是Function的实例
因为这两个本来就是构造函数,你说typeof为啥是function(函数)呢?