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

alert(a);为甚么a的值变成1?

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>new Boolean()</title>

</head>

<body>

<script type="text/javascript">
    var a= new Boolean(true);
    alert(typeof(a));
    a= a - 0;

    alert(a);




</script>
</body>
</html>


正在回答

4 回答

在这里,a是布尔值为true的一个东西,而true用1表示,false用0表示。最后弹出的数是1,其实也就是弹出的是true, 也就是你最开始设置的a的类型。

1 回复 有任何疑惑可以回复我~
#1

web_東 提问者

非常感谢!thanks
2018-06-14 回复 有任何疑惑可以回复我~

明白啦,谢谢

0 回复 有任何疑惑可以回复我~

非0为真(1)    0为假

1 回复 有任何疑惑可以回复我~

上面的最佳回答其实没答到重点!!

编程语言中 1 往往代表 true 是没错,可是在楼主的程序中,如果把 a=a-0; 这段代码去掉,下面的 alert(a); 是能够直接回显 true 的。

之所以楼主的程序回显为 1,其实是因为在 a=a-0; 这段代码中 a 和 0 两个不同数据类型做运算,于是布尔值 true 被强制类型转换为数值 1 了。

3 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

alert(a);为甚么a的值变成1?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信