typeof和instanceof的区别

xiaoxiao2022-06-11  30

1.typeof是什么? typeof 是一个操作符,主要的目的是检测一个变量是不是基本数据类型的变量,同时也可以说是确定一个变量是字符串,数值,布尔值,还是undefined 的最佳工具 示例代码

在这里插入var a="zhangqian"; var b=true; var c=10; var d; var e=null; var f=new Object(); alert(typeof a); alert(typeof b); alert(typeof c); alert(typeof d); alert(typeof e);

2.typeof应该注意什么问题? 使用typeof操作符的时候,如果检测对象是函数,那么操作符返回"function" ,如果检测对象是正则表达式的时候,在Safari和Chrome中使用typeof的时候会错误的返回"function", 其他的浏览器返回的是object. typeof返回的类型有六种: ‘number’ , ‘string’ , ‘boolean’ , ‘object’ 以及 ‘function’ 和 ‘undefined’. 3.instanceof是什么? instanceof主要的目的是检测引用类型,判断对象是Array,还是RegExp!

var array=new Array(); var object=new Object(); var regexp=new RegExp(); function func(){}; var func1=new func(); alert(array instanceof Array); alert(object instanceof Object); alert(regexp instanceof RegExp); alert(func1 instanceof func);

4.instanceof应该注意的问题? 大家都知道Object是所有对象的基类,所以在alert(array instanceof Object) 返回的结果同样也是true,还有就是instanceof的语法一定不要写错了 variable instanceof constructor ! 5.typeof 和instanceof的联系 其实typeof和instanceof的目的都是检测变量的类型,两个的区别在于typeof一般是检测的是基本数据类型,instanceof主要检测的是引用类型!

转载请注明原文地址: https://www.6miu.com/read-4931367.html

最新回复(0)