`
pcajax
  • 浏览: 2110262 次
  • 性别: 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中0到底是 true 还是 false

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

    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 ...

    JS字符串false转boolean的方法(推荐)

    大家都知道在JS的世界里, 0、-0、null、””、false、undefined 或 NaN,这些都可以自动转化为布尔的 false,那么字符串的”false”是不是false呢,答案是否定的,if(“false”) 来判断的话,是等于true的 ...

    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; } } } ...

    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 装逼指南(js另类写法)

    是将表达式强制转化为bool值的运算,运算结果为true或false,表达式是什么值,结果就是对应的bool值,不再取非。 不是取非再取非的意思!!! !!false=false; 要注意false和“false” 的区别!!!!! !!”false”...

    如何封装JS和CSS文件为服务器端控件---ASP.NET 2.0

    注意:[assembly: WebResource("Wisesoft.Web.Control.Wisesoft.Calendar.calendar.js", "application/x-javascript", PerformSubstitution=true)]是用来封装你的JS文件,要使用你项目的名字加上你JS文件的名字,还...

    vue-inifinite-contextmenu:Vue2 右键无限级菜单

    vue-inifinite-contextmenu ...截图如下 开发安装 # install dependencies npm install # serve with hot reload at localhost:8080 npm run dev # build for production...true,false false startX 子菜单显示的X轴位置 S

    tech-radar:根据Google Spreadsheets生成技术雷达

    科技雷达 构造URL ...强制数据源 任何一个 ... 布尔值是false或其他任何值,例如&bool=false是false; &bool=true为true, 数字是任何正实数。 例如&number=0.1 , &number=50 参数 filter(字符串)

    ckeditor和ckfinder 支持图片上传,文档上传,flash上传

    网上流传的ckeditor和ckfinder基本是都是不能上传图片的 ...3、将ckfinder中config.ascx中public override bool CheckAuthentication()函数中return false;()不允许上传改为return true;(允许上传)

    JavaScript中的一些隐式转换和总结(推荐)

    js中的不同的数据类型之间的比较转换规则如下: 1. 对象和布尔值比较 对象和布尔值进行比较时,对象先转换为字符串,然后再转换为数字,布尔值直接转换为数字 [] == true; //false []转换为字符串'',然后转换为数字...

    bool-emojify:Emojify布尔值

    emojify ( true , ( result ) => { /* TODO: result.value */ } ) ; const secondEmojify = BoolEmojify . emojify ( false ) ; // secondEmojify.value 原料药 emojify(数据,[cb]) 数据 类型:

    auto-test-react-component

    根据propTypes自动为测试的组件创建一组道具 文献资料 “ prop-types”模块... [false,true,undefined] PropsType.bool.isRequired [false,true] PropsType.func [()=> {},未定义] PropsType.func.isRequi

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

    toString() 方法 把布尔值转换为字符串,并返回结果。 实例 将布尔值转换为字符串: var bool = new Boolean(1);...“true” 或者 “false” valueOf() 方法 返回 Boolean 对象的原始值。 实例 var bool =

    大名鼎鼎SWFUpload- Flash+JS 上传

    负责响应该事件的句柄函数可以有2个返回值(true 或 false)当返回值为false时,整个上传将被取消;当返回值为true时上传过程继续进行。而如果返回值为false,则通常是由一个uploadError事件所导致的。  注:官方...

    js-xdr:读写XDR编码的数据结构(RFC 4506)

    XDR,用于Javascript 读/写XDR编码的数据结构(RFC 4506) XDR是一种开放数据格式,在指定。 该库提供了一种从javascript... // returns false xdr . Bool . fromXDR ( [ 0 , 0 , 0 , 1 ] ) ; // returns true // t

    primitive:验证值是否为 JavaScript 原语

    var bool = isPrimitive ( value ) ; // returns true 例子 var isPrimitive = require ( 'validate.io-primitive' ) ; console . log ( isPrimitive ( false ) ) ; // returns true console . log ( isPrimitive

    分享9点个人认为比较重要的javascript 编程技巧

     在js中,NaN,undefined,Null,0,”” 在转换为bool的时候,是false,所以,可以这样写。 代码如下: if(!obj) {} 表示一个对象如果为false的时候所做的事情,因为如果obj为以上任何一个,那么就是false,!false即...

Global site tag (gtag.js) - Google Analytics