• javascript typeof 和 instanceof 的区别和联系


     

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

      1. typeof是什么?
              typeof 是一个操作符,主要的目的是检测一个变量是不是基本数据类型的变量,同时也可以说是确定一个变量是字符串,数值,布尔值,还是undefined
        的最佳工具。
      2. typeof 示例代码
        [javascript] view plaincopy
        1. var a="zhangqian";  
        2. var b=true;  
        3. var c=10;  
        4. var d;  
        5. var e=null;  
        6. var f=new Object();  
        7.   
        8. alert(typeof a); //string  
        9. alert(typeof b); //number  
        10. alert(typeof c); //boolean  
        11. alert(typeof d); //undefined  
        12. alert(typeof e); //object  
        13. alert(typeof f); //object  
      3. typeof应该注意的问题?
           使用typeof操作符的时候,如果检测对象是函数,那么操作符返回"function" ,如果检测对象是正则表达式的时候,在Safari和Chrome中使用typeof的时候会错误的返回"function",
        其他的浏览器返回的是object.
      4. instanceof是什么?
            instanceof主要的目的是检测引用类型,判断对象是Array,还是RegExp!
      5. instanceof示例代码?
           
        [javascript] view plaincopy
        1. var array=new Array();  
        2. var object=new Object();  
        3. var regexp=new RegExp();  
        4. function func(){};  
        5. var func1=new func();  
        6.   
        7. alert(array instanceof Array);  //true  
        8. alert(object instanceof Object);  //true  
        9. alert(regexp instanceof RegExp);  //true  
        10. 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亿的表a,一个3亿的表b,通过外间tid关联,你如何最快的查询出满足条件的第50000到第50200中的这200条数据记录
    MySQL复制表的方式以及原理和流程
    Python里面如何拷贝一个对象
    python中*args,**kwargs
    Python删除list里面的重复元素的俩种方法
    Python是如何进行内存管理
    python中lambda函数
    python中filter(),reduce()函数
    python中map()函数用法
    重磅发布:阿里开源 OpenJDK 长期支持版本 Alibaba Dragonwell
  • 原文地址:https://www.cnblogs.com/zhangxiaolei521/p/5015906.html
Copyright © 2020-2023  润新知