javascript typeof 和 instanceof 的区别和联系

来源:互联网 发布:淘宝上卖爱奇艺会员 编辑:程序博客网 时间:2024/06/15 19:51
1.typeof是什么?

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

2.typeof 示例代码

var a="zhangqian";var b=true;var c=10;var d;var e=null;var f=new Object();alert(typeof a); //stringalert(typeof b); //numberalert(typeof c); //booleanalert(typeof d); //undefinedalert(typeof e); //objectalert(typeof f); //object
3. typeof应该注意的问题
   使用typeof操作符的时候,如果检测对象是函数,那么操作符返回"function" ,如果检测对象是正则表达式的时候,在Safari和Chrome中使用typeof的时候会错误的返回"function",
其他的浏览器返回的是object.
4. instanceof是什么?
    instanceof主要的目的是检测引用类型,判断对象是Array,还是RegExp!
5. instanceof示例代码?

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

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

0 0
原创粉丝点击