JS判断对象类型方法_typeof怎么用_instanceof怎么用_constructor怎么用_Object.prototype.toString()怎么用

   日期:2020-11-08     浏览:85    评论:0    
核心提示:JS判断对象类型方法typeoftypeof 方法 右边要跟一个 数据 就能返回这个数据的数据类型 注意typeof 不是方法 不需要加()返回的数据类型有 string(字符串) number(数字) object(对象)array(数组)boolean(布尔)null(空)undefined(未定义)var x = []var y = {}var z =nullvar a console.log( typeof 'aaa') // stringconsole...

JS判断对象类型方法

typeof

typeof 方法 右边要跟一个 数据 就能返回这个数据的数据类型 注意typeof 不是方法 不需要加()  

返回的数据类型有   string(字符串) number(数字) object(对象)array(数组)boolean(布尔)null(空)undefined(未定义)

var x = []
var y = {}
var z =null
var a 

console.log( typeof 'aaa')    //  string
console.log( typeof 123)      //  number
console.log( typeof true)     //  boolean
console.log( typeof a)        //  undefined
console.log( typeof b)        //  undefined   未声明也是  undefined 
console.log( typeof x)        //  object      数组也是对象 但是用typeof 不能检测出是数组
console.log( typeof y)        //  object
console.log( typeof z)        //  object      null是空的对象  用typeof检测也是对象

instanceof

instanceof 用来判断  instanceof  的 数据 是否 为   instanceof 的类型  返回一个布尔值  同样不用加()  但是instanceof只能用来检测对象

var x = []
var y = {}
var z =null
var a = 'aaa'
			
console.log(x instanceof Object)     //true   数组也是对象
console.log(x instanceof Array)      //true  
console.log(y instanceof Object)     //true   
console.log(y instanceof Array)      //false   但数组不一定是对象
console.log(z instanceof Object)     //false   用instanceof检测空对象 也是检测不出来的
console.log(a instanceof String)     //false   instanceof只能用来判断对象 对字符串无效

constructor

constructor   是通过原型链进行查找的       可以用来查找对象和普通数据   相比于 instanceof typeof 会更加精准

var x = []
var y = {}
var z = Date()
var a = 'aaa'
			
console.log(x.constructor==Object)    //false   在这里 数组并不被识别成对象
console.log(x.constructor==Array)    //true
console.log(y.constructor==Object)    //true
console.log(a.constructor==String)    //true    字符串可以正常被识别
console.log(z.constructor==Object)    //false   时间对象也不被识别成对象
console.log(z.constructor==Date)     // true    
			

Object.prototype.toString()

Object.prototype.toString()    是Object原型的方法  相比于以上三个 更加精准

var x = []
var y = {}
var z = new Date()
var a = 'aaa'
			
console.log(Object.prototype.toString.call(x))    //[object Array]
console.log(Object.prototype.toString.call(y))    //[object Object]
console.log(Object.prototype.toString.call(z))    //[object Date]
console.log(Object.prototype.toString.call(a))    //[object String]

 

 

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服