您的位置:首页 > 移动开发 > Objective-C

js判断对象类型 typeof与Object.prototype.toString.call方法的区别

2016-12-31 17:57 971 查看
直接上运行结果来观察
typeof的运行结果

////////////////////////////////////////////基本类型开始
console.log(typeof 1); //number
console.log(typeof true); //boolean
console.log(typeof undefined); //undefined
console.log(typeof ''); //string
////////////////////////////////////////////基本类型结束

////////////////////////////////////////////引用类型开始
console.log(typeof {}); //object
console.log(typeof []); //object
console.log(typeof function(){}); //function
////////////////////////////////////////////引用类型结束

Object.prototype.toString的运行结果

////////////////////////////////////////////基本类型开始
console.log(Object.prototype.toString.call(1)); //[object Number]
console.log(Object.prototype.toString.call(true)); //[object Boolean]
console.log(Object.prototype.toString.call(undefined)); //[object Undefined]
console.log(Object.prototype.toString.call('')); //[object String]
////////////////////////////////////////////基本类型结束

////////////////////////////////////////////引用类型开始
console.log(Object.prototype.toString.call({})); //[object Object]
console.log(Object.prototype.toString.call([])); //[object Array]
console.log(Object.prototype.toString.call(function(){})); //[object Function]
////////////////////////////////////////////引用类型结束

总结:

typeof 可以精准判断基本对象类型

typeof 无法精准判断引用对象类型

Object.prototype.toString.call 可以精准判断对象类型
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐