zoukankan      html  css  js  c++  java
  • JavaScript中“typeof”运算符与“instanceof”运算符的差异

      在JavaScript中,运算符“typeof”和“instanceof”都可以用来判断数据的类型,那么这两个运算符有什么不同之处呢?

    差异一:使用方式不同。

      最明显的差异就是这两个运算符的使用方式了。“typeof”是一元运算符,其后直接跟需要进行类型判断的数据;而“instanceof”是二元运算符,其左侧是需要判断的数据,右侧是用于比较的类型。

    //typeof是一元运算符;
    var amount = 108;
    console.log(typeof amout);//控制台输出“number”;
    
    //instanceof是二元运算符;
    var name = new String('Jim');
    console.log(name instanceof String);//控制台输出“true”;
    

    差异二:作用对象不同。

      运算符“typeof”既可以用于原始类型数据,也可以用于引用类型数据,而运算符“instanceof”只可以用来判断引用类型数据的具体类型。

    差异三:作用于引用值时,返回值不同。

      当作用于引用值时,运算符“typeof”的返回值只有“object”或者“function”,不可以精确判断数据的类型。相比之下,运算符“instanceof”可以用来精确判断数据的类型。

    //作用于引用值,“typeof”返回值只有object或者function;
    var name = new String('jim');
    var remind = function(){
      alert('don't forget!');       
    }
    console.log(typeof name);//控制台输出“Object”;
    console.log(typeof remind);//控制台输出“function”;
    
    console.log(name instanceof String);//控制台输出“true”;
    
  • 相关阅读:
    css中后代、元素、类、id选择器以及行间style优先级的比较
    JS小功能x系列6文字自动滚动
    JS小功能系列7自动打字
    JS小功能系列6折叠
    JS小功能系列5图片左右移动
    JS小功能系列4图片轮播综合数字轮播,顺时针逆时针,自动轮播
    JS小功能系列3时钟
    JS小功能系列2商品计算
    JS小功能系列1换一批
    JS隔行变色,鼠标悬停变色
  • 原文地址:https://www.cnblogs.com/tangfly/p/5917886.html
Copyright © 2011-2022 走看看