zoukankan      html  css  js  c++  java
  • Js中的假值_ES5中定义的ToBoolean方法强制类型转换后值为false

     你不知道的Javascript(中)--ToBoolean

    javascript中的值可以分为以下两类:

    1.可以被强制类型转换为false的值

    2.其他(被强制类型转换为true的值)

    假值---以下是js的ES规范中定义了的假值:

    • undefined
    • null
    • false
    • +0、-0和NaN
    • ""-空字符串

    假值的不二强制类型转换结果为false。一般除假值以外的都是真值。

    假值对象--封装了假值的对象

    eg:

    var a=new Boolean(false);

    var b=new Boolean(0);

    var c=new Boolean("");

    【注】规范中规定所有对象都是真值”,所以即使封装的内容是假值,这些对象依旧是真值。

    即:Boolean(a&&b&&c)==>true

    【注意】在js代码中会出现对象判断为假的用法,但它实际上不属于javascript语言的范畴。跟浏览器有关。浏览器在某些情况下在常规js语法上自己穿件了一些外来值,这些就是"假值对象"。
    eg:

    document.all,是一个类数组对象,包含了页面上所有元素,由DOM提供(而不是由js引擎提供)给js程序使用。
    用document.all在浏览器上强制类型转换后的结果,可被用来判断是否是ie(老版本的),这种判断也许在以后会因为ie对document.all的支持的结束而出现隐患。

    真值--假值列表之外的值

    eg:

    var a="false";     //字符串false --true

    var a="0";      //字符串0  --true

    var a="''";      //字符串'   --true

    Boolean(a&&b&&c)==>true。【注】只有空字符串转换后是false。

    eg:

    var a=[];       //空数组 --true

    var b={};      //空对象 --true

    var c=function(){};  //空函数 --true

    Boolean(a&&b&&c)==>true

  • 相关阅读:
    信息安全
    软件体系结构原理、方法与实践总结
    软件项目管理四个核心价值观
    博客园主题修改
    测试
    Java实现人民币大写精讲
    Windows系统性能提升方法
    Oracle系列之游标
    Oracle系列之异常处理
    Oracle系列之权限
  • 原文地址:https://www.cnblogs.com/blackheartinsunshine/p/6757429.html
Copyright © 2011-2022 走看看