为了账号安全,请及时绑定邮箱和手机立即绑定

这道题输出什么为什么

这道题输出什么为什么

慕哥1038968 2017-05-05 10:21:44
下面程序的显示结果是()var x = new Boolean(false); if (x) { alert('hi'); } var y = Boolean(0); if (y) { alert('hello'); }
查看完整描述

4 回答

?
zhangyudemuke

TA贡献26条经验 获得超6个赞

var x = new Boolean(false);   //创建一个布尔对象,对象的值为false,注意布尔对象只有两个值一个是true一个是false

if (x) { alert('hi')} ;   //条件判断语句,x是值为false的布尔对象,执行时隐式转换成true

var y = Boolean(0);   //强制转化成布尔值而不是布尔对象,y为false

if (y) { alert('hello')};   //所以不执行后面的代码

查看完整回答
2 反对 回复 2017-05-05
  • 慕哥1038968
    慕哥1038968
    所以只要x赋了值就会弹出HI是吧?可是赋值0的时候不会弹出,赋值其他数字就会 为什么呀
  • 西兰花伟大炮
    西兰花伟大炮
    拜托去测试一下,别误人子弟,想当然觉得,真的,好歹去浏览器跑一下
?
兼容并包

TA贡献83条经验 获得超67个赞

结果就是  带hi字的弹出框 。因为判断的是boolean指, 返回的是true和false

查看完整回答
1 反对 回复 2017-05-05
?
super_mb

TA贡献101条经验 获得超107个赞

这个问题其实很简单,new出来的是一个对象,具有一个false的值,并不是只是一个为false的值;

而Boolean(0)仅返回一个为false的值,你可以在控制台打印来看看,就知道区别了。

查看完整回答
1 反对 回复 2017-05-05
?
慕先生4463397

TA贡献14条经验 获得超5个赞

输出0

第二个会输出

查看完整回答
反对 回复 2017-05-05
  • 4 回答
  • 0 关注
  • 1898 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信