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

    一,typeof

      概念——操作符,

      目的——检测一个变量是不是基本数据类型的变量,换句话说,判断一个变量是 字符串,数值, 布尔值,对象,undefined

      注意——使用typeof操作符的时候,如果检测对象是函数,那么操作符返回"function" ,

                      如果检测对象是正则表达式,在Safari和Chrome中使用typeof的时候会错误的返回"function",其他的浏览器返回的是object.

      例子——

    var a="zhangqian";  
    var b=true;  
    var c=10;  
    var d;  
    var e=null;  //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
    

    二,instanceof

       概念——检验引用类型

       目的——判断对象是Array, RegExp

       注意——object是所有对象的基类,

       例子——

    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 

    总结: 其实typeof和instanceof的目的都是检测变量的类型,两个的区别在于typeof一般是检测的是基本数据类型,instanceof主要检测的是引用类型

    参考博客

    一,http://www.cnblogs.com/cheng_jiai/archive/2010/10/07/1845168.html

    二,http://blog.csdn.net/myhahaxiao/article/details/6740542

    小策,加油!!!

  • 相关阅读:
    什么是微服务架构?
    docker 安装 mongo he SCRAM_SHA_1 authentication mechanism requires libmongoc built with ENABLE_SSL
    好用的JsonView插件
    新建vmware虚拟机无法访问网络
    安装Docker到CentOS(YUM)
    CentOS7下安装MySQL5.7安装与配置
    mongodb 阿里云centos7安装
    JS数组
    前端基本知识
    JS算法
  • 原文地址:https://www.cnblogs.com/wangxiaoce/p/6772595.html
Copyright © 2011-2022 走看看