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

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

  • 相关阅读:
    关于jquery动态添加的新元素无法绑定事件那些事
    关于jquery获取json数据的格式问题
    beescms文章列表页函数学习
    beescms相关函数学习
    这是二零一四年十点整的广州
    POJ 1852 Ants 分析
    hiho_1114_扫雷
    hiho_1014_Trie_Tree
    排列组合
    用链表写的冒泡排序理解
  • 原文地址:https://www.cnblogs.com/darrel/p/2090473.html
Copyright © 2011-2022 走看看