`
pcajax
  • 浏览: 2163389 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

js bool true false 比较

阅读更多

.想到一个好玩的,运行如下 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字符串false转boolean的方法(推荐)

    在JavaScript中,将字符串"false"转换为布尔值false并不是一个简单的隐式转换,因为JavaScript会把字符串"false"视作一个真值。针对这个特定问题,我们需要一个明确的方法来确保字符串"false"能被正确转换成布尔的...

    老生常谈js中0到底是 true 还是 false

    答案是:在js做比较的时候,有这样的三条规则: • 如果比较的两者中有bool,会把 bool 先转换为对应的 number,即 0 和 1 • 如果比较的双方中有一方为number一方为string,会把string转换为数字 • 把string直接...

    js中bool值的转换及“&&”、“--”、 “!!”详解.docx

    在JavaScript中,布尔值(bool值)转换是一个重要的概念,因为很多条件判断和逻辑运算都依赖于这些值。本文将详细解析JavaScript中的布尔值转换以及“&&”、“||”、“!!”运算符的工作原理。 首先,JavaScript中有...

    js中bool值的转换及“&&”、“||”、 “!!”详解

    首先需要知道的是,js中有6个值为false,分别是: 0, ”, null, undefined, NaN 和 false, 其他(包括{}, [], Infinity)为true. 可以使用Boolean()函数或是两次取非就能获得对象的布尔值,例如Boolean(undefined)和!!...

    bool:把任何东西都扔到布尔值附近

    布尔值将真实内容转换为布尔值 var bool = require ( '@nkcmr/bool' )bool ( 'true' ) // => truebool ( 'yes' ) // => truebool ( 'no' ) // => falsebool ( 'false' ) // => falsebool ( 0 ) // => falsebool ( 1 ...

    JavaScript全选和反选

    <script language=javascript> function checkAll(boolvalue){ var items=document.getElementsByTagName("input"); for(i=0;i;i++){ if(items[i].type=="checkbox"){ items[i].checked=boolvalue; } } } ...

    JSON传递bool类型数据的处理方式介绍

    由于上述转换规则的存在,当JSON中布尔类型的值以字符串形式传递时,例如"true"或"false",如果客户端解析后直接使用,那么即使是"false"字符串,也会被解析为布尔值true,这就导致了逻辑上的错误。 以一个实际的...

    javascript最常用数据类型转换(最全).doc

    var bool = true; console.log(bool.toString()); // 输出:"true" ``` 2. String() 方法 String() 方法可以将任何类型转换为字符串类型,包括 null 和 undefined。 例如: ```javascript console.log(String(null)...

    JavaScript常用运算符和操作符总结.docx

    var bool1 = true, bool2 = false; var result = !bool1 && bool2; // 结果为false,因为非true并且false是false ``` 4. **关系运算符**: - `、`>`:小于、大于。 - `、`>=`:小于等于、大于等于。 - `!=`、...

    javascript的数据类型

    3. **Boolean**:布尔类型,只有两个值:`true` 和 `false`。 4. **Number**:数字类型,包括整数和浮点数。 5. **String**:字符串类型,由字符序列组成。 6. **Symbol**:ES6引入的新数据类型,用于创建唯一的键。...

    elasticdump报错

    FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory 1: node::Abort() [node] 2: 0x8cd49c [node] 3: v8::Utils::ReportOOMFailure(char const*, bool) [node] 4: v8::...

    vim-toggle-bool:一个简单的Vim插件,可基于switch.vim在Python中切换布尔值

    True → False和False → True , true → false和false → true , 1 → 0和0 → 1 。 切换开关适用于当前行的第一个匹配项,并且不会更改光标位置。 安装 可以通过插件管理器完成安装。 另外,需要安装 。 ...

    【JavaScript源代码】JavaScript类型检测的方法实例教程.docx

    let bool = true; let nul = null; let undef = undefined; let sym = Symbol(); console.log(typeof num); // "number" console.log(typeof str); // "string" console.log(typeof bool); // "boolean" console....

    js键盘事件实现人物的行走

    var bool = false; var speed = 2; // 每次行走的距离 var actor; // 人物div const HEIGHT = 33; // 人物的高 const WIDTH = 32; // 人物的宽 var arr = [1, 3, 2, 0]; // 4排图像代表下左右上 var num = 0;...

    实例解析JS布尔对象的toString()方法和valueOf()方法

    在JavaScript中,布尔对象是基于基本的布尔类型`true`和`false`创建的,它是一种特殊的对象形式。本文将详细解析JS布尔对象的`toString()`方法和`valueOf()`方法。 `toString()`方法: `toString()`方法是...

    javascript之Boolean类型对象

    在JavaScript中,Boolean类型是两种基本数据类型之一,用于表示逻辑值,即真(true)或假(false)。Boolean类型不仅作为原始值存在,还可以作为对象形式,即Boolean对象。虽然在多数情况下,原始值与对象形式的行为...

    文章目录 一、javaScript 的几种数据类型 1、数字类型 2、字符串 3、布尔型 4、数组 5、null 和 undef

    例如,boolType1 = true,boolType2 = false。 4. **数组**:数组是有序的数据集合,可以容纳不同类型的元素。例如,myArray = [1, 2, true, "string", 3.2]。 5. **null 和 undefined**:undefined 通常表示变量...

    笔记JS(1).docx

    // 比较运算符 var z = true && false; // 逻辑运算符 var w = x = 10; // 赋值运算符 ### 流程结构 JavaScript 中的流程结构包括顺序结构、分支结构、循环结构等。例如: #### 顺序结构 顺序结构是指按照顺序...

Global site tag (gtag.js) - Google Analytics