本文摘自PHP中文网,作者不言,侵删。
本篇文章给大家带来的内容是关于JavaScript类型判断的方法介绍(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。JS数据类型判断
有的时候需要判断数据类型,应对各种复杂的逻辑判断,先来个咱们最常用的。
1.typeof
typeof操作符返回一个字符串,并表示该变量的类型。
typeof oper / typeof (operand)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
当然不只有上面的这些基础类型,还有下面这些:
Symbol (ECMAScript 6 新增) "symbol"
宿主对象(由JS环境提供) Implementation-dependent
函数对象([[Call]] 在ECMA-262条款中实现了) "function"
咦?有点不对,为什么数组、null等都是object呢???请往下看
Function或者Array这些类型的实例的时候,其实都是基于Object实例进行的一种扩展。只是多了一些特有属性。
在 JavaScript 最初的实现中,JavaScript 中的值是由一个表示类型的标签和实际数据值表示的。对象的类型标签是 0。
由于 null 代表的是 空指针(大多数平台下值为 0x00)。
因此,null的类型标签也成为了 0,typeof null就错误的返回了"object"。(reference)
2.instanceof
instanceof运算符用于测试构造函数的prototype属性是否出现在对象的原型链中的任何位置,通俗点说就是一个变量是否某个对象的实例。
object instanceof constructor
object 要检测的对象 / constructor 构造函数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
|
3.Object.prototype.toString()
每个对象都有一个toString()方法,当该对象被表示为一个文本值时,或者一个对象以预期的字符串方式引用时自动调用。默认情况下,toString()方法被每个Object对象继承。如果此方法在自定义对象中未被覆盖,toString() 返回 "[object type]",其中type是对象的类型。
Function.prototype.call( thisArg ) / Function.prototype.apply( thisArg )
传递要检查的对象作为第一个参数,称为thisArg。
1 2 3 4 5 6 7 8 9 |
|
在合适的场景用恰当的方法,会很省心,也能保证代码的简洁、健壮。
以上就是JavaScript类型判断的方法介绍(代码示例)的详细内容,更多文章请关注木庄网络博客!
相关阅读 >>
更多相关阅读请进入《javascript》频道 >>

Vue.js 设计与实现 基于Vue.js 3 深入解析Vue.js 设计细节
本书对 Vue.js 3 技术细节的分析非常可靠,对于需要深入理解 Vue.js 3 的用户会有很大的帮助。——尤雨溪,Vue.js作者