.想到一个好玩的,运行如下 javascript :
  if ('0') alert("'0' is true");
  if ('0' == false) alert("'0' is false");结果是,两次都 alert 了!那么 '0' 到底是 true 还是 false 呢?

答案是:在js做比较的时候,有这样的三条规则:

如果比较的两者中有bool,会把 bool 先转换为对应的 number,即 0 和 1
如果比较的双方中有一方为number一方为string,会把string转换为数字
把string直接转换为bool的时候,空字符串‘’转换为 false,除此外的一切字符串转换为 true

在第一次比较的时候,直接把 '0' 放在 if 的表达式中,相当于直接把 string 转换为 bool, !!'0' === true,所以是成立的
在第二次比较的时候,会先把 false 转换为 0,然后把 '0' 转换为 0, 左右两边都是0,于是也是成立的。
所以归根到底这是一个javascript中做比较的时候类型转换顺序的问题,个人觉得还是不是很合理的,不同的转换顺序得到的结果会不一样

在比较的时候,要用
 //是否发布自助系统
        var rdoPromotion=document.getElementsByName("RadPromotion");
        if(arrayCategory[9])
        {
            rdoPromotion[0].checked=true;
            rdoPromotion[1].checked=false;
        }
        if(arrayCategory[9]=="False")
        {
            rdoPromotion[0].checked=false;
            rdoPromotion[1].checked=true;
           
        }

js bool true false 比较相关推荐

  1. js bool true false 真假比较

    最近遇到将"false"转为Boolen类型时,永远为真,便在网上收罗下下,发现了这篇文章,介绍了js比较的规则 运行如下 javascript : if ('0′) alert( ...

  2. true false 与TRUE FALSE 的区别

    BOOL 是window中的数据类型,BOOL的原型是typedef long BOOL,所以 int i=6;       BOOL b=(BOOL)i; 是可以的. bool是C++中的一个关键字 ...

  3. warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning)

    //原函数为FF->CallBack(KK_DATA_OK); //出现警告:warning C4800: 'int' : forcing value to bool 'true' or 'fa ...

  4. php+js+return+true,js中return、return false、return true的区别

    1.语法及返回方式 ①返回控制与函数结果 语法为:return 表达式; 语句结果函数的执行,返回调用函数,而且把表达式的值作为函数结果返回出去 ②返回控制无函数结果 语法为:return; 在大多数 ...

  5. JS 中 0/1 与 true/false 是否相等

    不得不说自己问了个蠢问题... 但能意识到自己不会的问题是个好事 首先,你要先了解"==" 和 " === "的区别 当用" == "判断 ...

  6. BOOL与bool TRUE与true FALSE与false 区别

    FALSE/TRUE与false/true的区别 1.FALSE/TRUE与false/true的区别: false/true是标准C++语言里新增的关键字,而FALSE/TRUE是通过#define ...

  7. js中对应false和true的值

    js中对应false和true的值 0, "", NaN, null, undefined 都会被认为是false [], {}, -1, 1(非零数字),非空字符 会认为是tru ...

  8. js判断true和false

    数据类型 转化为true的值 转化为false的值 Boolean true false String 任何非空字符串 ""(空字符串)[注意:Boolean("&quo ...

  9. 改变数据库中的True/False的小窍门

    改变数据库中的True/False的小窍门 开发工具与关键技术:SQL Server 2014 Management Studio 改变数据库中的True/False 作者:李国旭 撰写时间:2019 ...

最新文章

  1. 适合初学者的java书籍
  2. 超越BERT的模型有哪些?
  3. tf.stack与tf.unstack
  4. 常用服务器性能分析工具
  5. 【MFC】MFC工程文件详解
  6. 2018-07-10 为Chrome和火狐浏览器编写扩展
  7. 前端学习(485):css
  8. 情侣签到365天获1000现金?这款App被关停下架了 网友拍手称快!
  9. h5自定义相机界面_有没有什么比较好用的H5小程序?
  10. 【Android Developers Training】 1. 创建一个Android项目工程
  11. mysql 分表例子_mysql分表查询的简单例子
  12. Algorithm——何为算法?
  13. 电路滤波器——(二)RC有源滤波器
  14. [Extjs6] 修改默认的日期月份格式
  15. html怎么让音乐隐藏在网页中循环播放,怎么在网页中循环播放声音
  16. 最新智云全能API接口查询PHP源码V1.1
  17. Q50 数组中重复的数字
  18. EMI/EMC设计经典70问答,拿好不谢
  19. 剑池CDK快速使用指南
  20. CMMI3级和五级之间的区别是什么?

热门文章

  1. 理论基础 —— 二叉树 —— 线索链表
  2. 理论基础 —— 二叉树
  3. Exploration(POJ-3618)
  4. 理论基础 —— 排序 —— 桶排序
  5. 理论基础 —— 排序 —— 直接插入排序
  6. 信息学奥赛C++语言:判断正负
  7. linux c语言 udp 接收和发送数据用同一个端口_网络编程基础入门及TCP,UDP
  8. rabbitmq使用_RabbitMQ-1使用
  9. linux系统中怎么复制,linux下如何屏幕拷贝?
  10. static代码块什么时候运行_健康的代码:什么时候该注释?