• 当前标签:布尔对象

程序开发 JavaScript 布尔对象

console.log(true) console.log(!true) var a = 1,b = 2 console.log(!!(a + b)) var b = new Boolean('false') console.log(b) // b是一个布尔对象 而不是一个值 // b是一个包含一个true值的对象 可以将b当为一个盒子 // 当作为一个构造函数(带有运算符 new)调用时, // Boolean() 将把它的参数转换成一个布尔值, // 并且返回一个包含该值的 Boolean 对象。 // 把一个值装进一个对象的过程叫做 装箱 boxing // 把值从对象中取出来的过程叫 拆箱 unbonxing var a = Boolean('111') console.log(a) // 如果作为一个函数(不带有运算符 new)调用时, // Boolean() 只将把它的参数转换成一个原始的布尔值, // 并且返回这个值。 // 如果参数为null、''、NaN、undefined、0、-0、false这些值的时候 则为false 否则为true var me = {} var me2 = new Object() console.log(!!me) console.log(!me2) // 一个空白对象会被认为true me.name = '李全福' me.age = 23 me2.name = '王子豪' me2.age = 23 console.log(!!me) console.log(!me2) new Boolean(true) //盒子内的值 true new Boolean(false) //盒子内的值 false new Boolean('false') //true new Boolean(0) //false new Boolean(2) //true new Boolean(null) //false new Boolean('') //false new Boolean('liquanfu') //true                if(Boolean(0)){     console.log('能执行吗?') //false } if(new Boolean(0)){     console.log('能执行吗?') //能执行吗? } // 带有false值的一个对象 // 不管布尔对象这个盒子里面装的是true还是false // 一个布尔对象都会被认为true 因为布尔对象是一个对象 // 布尔对象与布尔值是完全不同的 // 如果你在布尔场景下如if()永远不要使用布尔对象 var str = true.toString() console.log(str) console.dir(str) // 试图对布尔值(包括数值、字符串)等 调用方法时 // 会导致临时装箱 产生新的对象 在这个对象上调用方法 // 方法调用完毕 对象即会消失

2017-07-25 19:04:20 49 0 0
阅读详情
  • 1
前往