javascript typeof 和 instanceof 的区别和联系

这篇文章是我看完《JavaScript高级程序设计(第2版)》书籍的随笔文章,目的只有一个,以备自己和网友们方便参考和记忆!

  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); //string
    alert(typeof b); //number
    alert(typeof c); //boolean
    alert(typeof d); //undefined
    alert(typeof e); //object
    alert(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);  //true
    alert(object instanceof Object);  //true
    alert(regexp instanceof RegExp);  //true
    alert(func1 instanceof func);  //true
  6. instanceof应该注意的问题?
        大家都知道Object是所有对象的基类,所以在alert(array instanceof Object) 返回的结果同样也是true,还有就是instanceof的语法一定不要写错了 variable instanceof constructor !
  7. typeof  和instanceof的联系
         其实typeof和instanceof的目的都是检测变量的类型,两个的区别在于typeof一般是检测的是基本数据类型,instanceof主要检测的是引用类型!
  • 6
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值