zoukankan      html  css  js  c++  java
  • JavaScript 判断表达式的那点事

        首先很不好意思的用了一个“判断表达式”的词,别细纠。嘿

        我们用这样的一个例子开始:

    0 == ""   //true
    0 === ""  //false
    

         显然,这样的测试没有意思。一眼就看到结果了。==是等于 ===是全等。JavaScript在逻辑判断时,如果表达式使用的是 == 那么,表达式就会被强类型转换。 而===不会干这事。所以得到了以上结果。

        回到==强类型转换问题,灰鸽给我们总结的非常好,给大家分享下:

       左值为数字,右值转数字。左值为字符串,右值传字符串。

       这时候教主大大( Franky )说了:

        左值的概念来源于 内存地址 以及其对应的值.因为描述他们总是不方便 所以才诞生左值 的概念衍生出 赋值语句  中.赋值运算符左边的表达式 evaluate后 总是产生一个左值. 在ecmascript中 喜欢用 reference type 来代替它。

       如教主所云灰鸽的“左值”值得商榷。

       说到这强类型转换这事,不得不提醒一个东西:

          !! new String("0") ->  true  但是  !! "0" -> false

          !! new Array() ->  true

          !! [] -> true

          由于文叔功力浅薄,故而暂无法跟大家细说其中缘故。就不知道看官如何意会了,嘿嘿。

  • 相关阅读:
    数据对拍
    学大伟业 Day 5 培训总结
    【luogu P3378 堆】 模板
    【luogu P1865 A % B Problem】 题解
    学大伟业 Day 4 培训总结
    【luogu P1082 同余方程】 题解
    诗一首
    【luogu P2251 质量检测】 题解
    【luogu P3865 ST表】 模板
    【luogu P1816 忠诚】 题解
  • 原文地址:https://www.cnblogs.com/darrel/p/2090473.html
Copyright © 2011-2022 走看看