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


  • 相关阅读:
    bat 处理adb脚本
    作用域,高阶函数
    常用内置函数-6
    习题元祖与字典的值交换
    函数的参数
    序列类型与非序列类型
    格式化输出,深浅复制
    可变,不可变与 id 的关系
    linux-shell系列6-rundeck生成host文件
    linux-shell系列5-统计
  • 原文地址:https://www.cnblogs.com/justSmile2/p/9756412.html
Copyright © 2011-2022 走看看