zoukankan      html  css  js  c++  java
  • typeof

    1.用法

    typeof num

    typeof(num)

    2.返回值    "number"、"string"、"boolean"、"object"、"function" 和 "undefined"    ( null 、arr、obj 都返回 ‘object’   -  null 是为了 obj 的占位而生的 。 )

    typeof  undefined   -  "undefined"   
    typeof NaN   -  "number"

    即,判断完成后返回值绝对的 string型, 此时转Boolean的话,是true;

    3.意义

    判断数据类型

    4.特点

    返回值为 string 类型,判断未定值不报错(使用 if 则会)

    5. 扩展

    instanceof      object instanceof constructor   

     检测某个对象是不是另一个对象的实例     测试一个对象在其原型链中是否存在一个构造函数的 prototype 属性      

    [] instanceof Array   true     

    [] instanceof Object   true

    function Foo(){} 
    Foo.prototype = new Aoo();//JavaScript 原型继承 
    var foo = new Foo(); 
    console.log(foo instanceof Foo)//true 
    console.log(foo instanceof Aoo)//true
    如果表达式 obj instanceof Foo 返回true,则并不意味着该表达式会永远返回ture,因为Foo.prototype属性的值有可能会改变,改变之后的值很有可能不存在于obj的原型链上,这时原表达式的值就会成为false

    function a (a,b){console.log(arguments instanceof Array)} a(1,2) false


    更全面的判断
    var type = function(data) {
          var toString = Object.prototype.toString;
          var dataType = data instanceof Element
                              ? 'element' // 为了统一DOM节点类型输出
                              : toString
                                  .call(data)
                                  .replace(/[objects(.+)]/, ''$1')
                                  .toLowerCase()
          return dataType
    }
    View Code


  • 相关阅读:
    常用品牌交换机镜像抓包配置
    BGP知识点备忘录
    IS-IS路由协议地址详解
    Linux msmtp+mutt发邮件
    Linux添加一临时用户拥有root权限最快方式
    ELK5.0全程普通用户源码安装指南(CentOS6.5)
    改变文件的拥有者和改变文件的拥有组
    Linux chmod命令详解
    Linux目录介绍
    php时间戳转化成时间相差8小时问题
  • 原文地址:https://www.cnblogs.com/justSmile2/p/9756412.html
Copyright © 2011-2022 走看看