zoukankan      html  css  js  c++  java
  • JavaScript之“==”和“===”

     == 和 === 都是比较运算符。它们有什么区别?

    ===

    • 如果类型不同,就一定不相等。
    • 如果两边都是数值,且值相等,则返回trueNaN 除外。)
    • 字符串、布尔类型相等,对比值相等,则相等。
    • 如果引用同一个对象或数组,则相等,否则不等。
    • 如果两个都是nullundefined 则相等,否则不等。

    NaN属性用来表示非数字的字符,只能用方法isNaN()判断。因为每个NaN都不同。

    ==

    • 如果类型相同,则规则与“===”已知,比较值是否相同。
    • 如果类型不同,也有可能相等。
      • 如果一个为null,一个为undfined,两个值相等。
      • 如果一个是字符串,一个是数值,把字符串转换为数值后再比较。

    根据以上的规则,举例子,以便于理解。

     1 // 变量类型相同
     2 console.log(false == false); // true(布尔类型)
     3 console.log(false == false); // true(布尔类型)
     4 console.log(1 == 1); // true(数字类型)
     5 console.log(1 === 1); // true(数字类型)
     6 console.log("hello" == "hello"); // true(字符串) 
     7 console.log("hello" === "hello"); // true(字符)
     8 // 变量类型相同-(对象或数组、方法)
     9 var arr1 = [1, 2, 3, 4, 5];
    10 var arr2 = [1, 2, 3, 4, 5];
    11 var arr3 = arr1;
    12 console.log("同一个数组=>", arr1 == arr3); // true (同一个数组,返回true)
    13 console.log("同一个数组=>", arr1 === arr3); // true (同一个数组,返回true)
    14 console.log("不同数组=>", arr1 == arr2); // false (不同数组,值相同,返回false)
    15 console.log("不同数组=>", arr1 === arr2); // false (不同数组,是相同,返回false)
    16 // null 和undefined
    17 console.log(null == null); // true 
    18 console.log(null === null); // true 
    19 console.log(undefined == undefined); // true 
    20 console.log(undefined === undefined); // true 
    21 console.log(null == undefined); // true 
    22 console.log(null === undefined); // false
    23 var a; // 声明值,初始化为undefined
    24 var b; // 声明值,初始化为undefined
    25 console.log(a == b);
    26 console.log(a === b);
    27 
    28 // 变量类型不同
    29 console.log(5 == "5"); // true (变量类型不同,转换为相同的比较)
    30 console.log(5 === "5"); // false (变量类型不同,则值不同)
    31 // NaN——非数字字符
    32 console.log(NaN == NaN); // false
    33 console.log(NaN === NaN); // false

    参考网址

    有志者,事竟成,破釜沉舟,百二秦关终属楚; 苦心人,天不负,卧薪尝胆,三千越甲可吞吴。
  • 相关阅读:
    超简单实例使用websocket进行server和client实时通信
    antd的table行key自增长
    selenium元素定位Xpath,Contains,CssSelector
    slenium使用鼠标+键盘事件或者双击实现代码
    使用python+pychram进行API测试(接口测试)初级STEP 1
    linux命令小常识
    sql中limit使用方法
    Swagger-API测试工具实战
    写 test-case心得
    测试之路之[前奏]
  • 原文地址:https://www.cnblogs.com/luyj00436/p/15177776.html
Copyright © 2011-2022 走看看