• js 变量类型


    变量类型分为:基础类型和引用类型

    基础类型:boolean, string, number, null, undefined, symbol

    引用类型: array, object

    • typeof: 判断变量的类型
    • instanceof:判断某个对象是否是另外一个对象的实例

    主要还是理解这两个判断的不同之处,不能死记硬背。

    首先清楚地知道变量类型,基础类型和引用类型。

    typeof:

    数据类型通过typeof判断的结果如下:

    类型 结果
    undefined "undefined"
    Boolean "boolean"
    String "string"
    Number "number"
    Symbol "symbol"
    null "object"(历史遗留问题)
    函数对象 "function"
    object,array,window... "object"

    instanceof:  

    首先理解一句话,在js里,一切(引用类型)都是对象。

    然后看下instanceof的判断规则: A instanceof B

    沿着A的__proto__这条线找,同时沿着B的prototype这条线找,如果出现同一个引用就返回true. 如果到终点还未重合就返回false

    很容易理解吧。那么

    var fn = function () { };
    console.log(fn instanceof Object);//true

    举例子理解下Instanceof:

    let s1 = new String("s");
    typeof s1  === "object"   //s1是String的实例化对象
    s1 instanceof String   // true

    那再看下这个例子:

    let s2 = "s";
    typeof s2 === "string"
    s2 instanceof String //false

    这里为什么是false呢?

    这里就要深刻理解typeof和instanceof的通过了。

    s2只是个数据类型的值,并不是String的实例化对象

    再看下null 和 undefined的不同之处:

    • null == undifined (true) ; null === undefined (false)
    •  typeof null; //object               typeof:undefined; //undifined
    • null参与计算时会自动转换为0,undefined不会转换

      123 + null ; //123

      123 + undefined; //NAN

  • 相关阅读:
    C++句柄类 [ 资深博主 ]
    [C/C++] 第18章:特殊工具与技术《 C++ Primer 》
    [C/C++] 读后的感觉《C++Primer》
    Oracle个人Blogs精华贴
    Oracle安装图解
    [转]怎么成为优秀的软件模型设计者
    如何写一份好的工程师简历[转载]
    如何准备软件工程师的面试[转载]
    JS倒计时
    10个最有前景的JavaScript框架
  • 原文地址:https://www.cnblogs.com/thonrt/p/5899473.html
Copyright © 2020-2023  润新知