zoukankan      html  css  js  c++  java
  • javascript typeof 和 instanceof 的区别和联系[轉]

  • typeof是什么
          typeof 是一个操作符,主要的目的是检测一个变量是不是基本数据类型的变量,同时也可以说是确定一个变量是字符串,数值,布尔值,还是undefined
    的最佳工具。
  • 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  
  • typeof应该注意的问题?
       使用typeof操作符的时候,如果检测对象是函数,那么操作符返回"function" ,如果检测对象是正则表达式的时候,在Safari和Chrome中使用typeof的时候会错误的返回"function",
    其他的浏览器返回的是object.
  • instanceof是什么?
        instanceof主要的目的是检测引用类型,判断对象是Array,还是RegExp!
  • 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  
  • instanceof应该注意的问题?
        大家都知道Object是所有对象的基类,所以在alert(array instanceof Object) 返回的结果同样也是true,还有就是instanceof的语法一定不要写错了 variable instanceof constructor !
  • typeof  和instanceof的联系
         其实typeof和instanceof的目的都是检测变量的类型,两个的区别在于typeof一般是检测的是基本数据类型,instanceof主要检测的是引用类型!
查看全文
  • 相关阅读:
    2019阿里系电子书合集来了!
    FTP主动模式和被动模式的区别
    Vsftpd运行的两种模式-xinetd运行模式和 standalone模式
    Logstash组件详解(input、codec、filter、output)
    Docker入门-笔记-1
    K8S命令-Kubectl 命令大全
    Nginx-HTTP Strict Transport Security(HSTS)
    IPV6技术笔记(剖析IPv4toIPv6)
    一个交换机到底能带几台摄像头?结合生产经验咱们来分析!
    ELK查询命令详解
  • 原文地址:https://www.cnblogs.com/ywkpl/p/2345525.html
  • Copyright © 2011-2022 走看看