JS判断数据类型的方法有哪些


本文摘自PHP中文网,作者清浅,侵删。

JS判断数据类型的方法有:typeof方法用于返回该类型的字符串形式,instanceof方法用来判断原型,constructor方法以及Object.prototype.toString 方法

在JavaScript中有多种方法可以帮助我们去判断数据类型,接下来将在文章中为大家详细介绍这些方法,具有一定的参考作用希望对大家有所帮助。

【推荐课程:JavaScript教程】

方法一:typeof方法

typeof 是一个操作符,右侧是一个一元表达式,并返回这个表达式的数据类型。返回的结果用该类型的字符串的形式表示,包括:number、boolean、symbol、string、object、undefined、function 等。

返回值分以下几种类型:

对于基本类型。除了null值返回object以外,其他均返回正确的结果

对于引用值来说,除了function返回function类型,其他都返回object类型

例:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

<script type="text/javascript">

var a = "string";

 console.log(a); //string

 var a = 1;

 console.log(typeof a); //number

 var a = false;

 console.log(typeof a); //boolean

 var a;

 console.log(typeof a); //undfined

 var a = null;

 console.log(typeof a); //object

 var a = document;

 console.log(typeof a); //object

 var a = [];

 console.log(a); //[]

 var a = function() {};

 console.log(typeof a) //function

</script>

效果图:

方法二:instanceof方法

instanceof 是用来判断 A 是否为 B 的实例,表达式为:A instanceof B,如果 A 是 B 的实例,则返回 true,否则返回 false。 在这里需要特别注意的是:instanceof 检测的是原型。

1

2

3

4

<script type="text/javascript">

var a=[];

console.log(a instanceof Array)

</script>

返回的结果:true

方法三:constructor方法

当一个函数被定义时,JS引擎会为它添加 prototype 原型,然后再在 prototype上添加一个 constructor 属性,并让其指向该函数的引用。

当执行 var f = new F() 时,F被当成了构造函数,f 是F的实例对象,此时 F 原型上的 constructor 传递到了 f 上,因此 f.constructor == F

未标题-2.jpg

方法四:Object.prototype.toString 方法

toString是Object原型对象上的一个方法,该方法默认返回其调用者的具体类型,更严格的讲,是 toString运行时this指向的对象类型, 返回的类型格式为[object,xxx],xxx是具体的数据类型,其中包括:String,Number,Boolean,Undefined,Null,Function,Date,Array,RegExp,Error,HTMLDocument等等都可以通过这个方法获取到。

1

2

3

4

5

6

7

8

9

10

console.log(Object.prototype.toString.call(num));

console.log(Object.prototype.toString.call('')) ; 

console.log(Object.prototype.toString.call(1)) ;  

console.log(Object.prototype.toString.call(true)) ;

console.log(Object.prototype.toString.call(null)) ;

console.log(Object.prototype.toString.call(new Function()) );

console.log(Object.prototype.toString.call(new Date())) ;

console.log(Object.prototype.toString.call([])) ;

console.log(Object.prototype.toString.call(document)) ;

console.log(Object.prototype.toString.call(window) );

效果图:

Image 015.png

总结:以上就是本篇文章的全部内容了,希望对大家有所帮助

以上就是JS判断数据类型的方法有哪些的详细内容,更多文章请关注木庄网络博客

相关阅读 >>

js判断数据类型的方法有哪些

更多相关阅读请进入《JavaScript数据类型》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...