var x = new Boolean(false); if (x) { alert('hi'); } var y = Boolean(0); if (y) { alert('hello'); } alert结果:hi 解析 x是实例化的布尔对象,任何对象转化为布尔值都会得到true,所以会先得到hi 在JS中,只有0,-0,NaN,"",null,undefined这六个值转布尔值时,结果为false var y=Boolean(0),在进行if(y)判断的时候,实际上等同于if(0),也就是if(false),所以hello并不会被输出