let a = 4;
let b = function () {};
let c = [];
console.log(typeof a);//number
console.log(typeof b);//function
console.log(typeof c);//object ?
这里可以看到 c 的结果为object,而不是array
这里要注意一点!typeof
能检测到的数据有function
、string
,number
,boolean
,undefined
,symbol
,其他所有的类型,都会被检测为object
。
let a = 4;
let b = function () {};
let c = [];
let d = null;
console.log(Object.prototype.toString.call(a));
console.log(Object.prototype.toString.call(b));
console.log(Object.prototype.toString.call(c));
console.log(Object.prototype.toString.call(d));
这里就可以看到 c 的类型为 array
这里我们来给它封装成一个方法,用于准确判断变量的类型。
function judge(type) {
var string = Object.prototype.toString.call(type);
return string.substr(8, string.length - 9)
}
案例
let a = 4;
let c = [];
function judge(type) {
var string = Object.prototype.toString.call(type);
return string.substr(8, string.length - 9)
}
console.log(judge(c))
console.log(judge(a))
如果您发现该资源为电子书等存在侵权的资源或对该资源描述不正确等,可点击“私信”按钮向作者进行反馈;如作者无回复可进行平台仲裁,我们会在第一时间进行处理!
加入交流群
请使用微信扫一扫!