本篇内容介绍了“JS怎么判断是否为对象或数组”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.toString 方式【常用】注意:这里要使用 call 方法改变作用域2.constructor 方式这里使用了 null 传导符(?.) 以防止出错3.typeof 与 instanceoftypeof 与 instanceof 并不能完全判断一个值为对象typeof 的取值有:“undefined
“——如果这个值未定义;”boolean
“——如果这个值是布尔值;”string
“——如果这个值是字符串;”number
“——如果这个值是数值;”object
“——如果这个值是对象(包括数组)或null;”function
“——如果这个值是函数;”symbol
“——如果这个值是Symbolinstanceof 操作符对于数组和对象都返回 true4.__proto__ 方式【不推荐】__proto__属性,用来读取或设置当前对象的 prototype 对象,此属性未纳入标准,不建议使用。5.Object.getPrototypeOf 方式Object.getPrototypeOf(),用来读取对象的 prototype 对象。1.toString 方式注意:这里要用 Object 的 toString 方法,Array 的 toString 返回的是拼接的字符串2.Array.isArray 方法【推荐】ES5中提供了 isArray 方法用来判断值是否为数组3.instanceof 方式为什么 instanceof 可以用来判断数组而不可以判断对象呢?因为数组本身就是一个类似于列表的高阶对象。4.constructor 方式5. __proto__ 方式【不推荐】6.Object.getPrototypeOf 方式7.isPrototypeOf 方式isPrototypeOf() 方法用于测试一个对象是否存在于另一个对象的原型链上。该方式不能用来判断对象!先上代码结果:四种方法我简称方法1,方法2,方法3,方法4。方法1:Array.isArray(…),这是JS已经提供的判断一个对象是不是数组的方法方法2: … instanceof Array,in免费云主机域名stanceof是用来判断引用类型的方法,而type则是用来判断基本类型的方法,instanceof 运算符用来测试一个对象在其原型链中是否存在一个构造函数的 prototype 属性,返回一个布尔值。方法3:Array.prototype.isPrototypeOf(…),利用isPrototypeOf()方法,判定Array是不是在obj的原型链中,如果是,则返回true,否则false。方法4:Object.prototype.toString.call(…),根据对象的class属性(类属性),跨原型链调用toString()方法,在js中一个对象一旦被创建,在内部会携带创建对象的类型名,js中提供了调用对象原型中的toString方法,也就是其中call可以这么理解,相当于对象去借用这个 Object.prototype.toString()。“JS怎么判断是否为对象或数组”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注百云主机网站,小编将为大家输出更多高质量的实用文章!
相关推荐: SpringBoot @InitBinder注解绑定请求参数的方法是什么
这篇文章主要讲解了“SpringBoot@InitBinder注解绑定请求参数的方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“SpringBoot@InitBinder注解绑定请求参数的方法是什么”吧…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。