只需要鉴别这些类型那么使用typeof即可,要鉴别null先判断双等判断是否为null,之后使用typeof判断,如果是obejct的话,再用Array.isArray判断是否为数组,如果是数字再使用isNaN判断是否为NaN,(需要注意的是NaN并不是JavaScript数据类型,而是一种特殊值)代码如下:
function type(ele) { if (ele === null) { return null; } else if (typeof ele === 'object') { if (Array.isArray(ele)) { return 'array'; } else { return typeof ele; } } else if (typeof ele === 'number') { if (isNaN(ele)) { return NaN; } else { return typeof ele; } } else { return typeof ele; } }