web_東
2018-06-13 05:12
<!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>
在这里,a是布尔值为true的一个东西,而true用1表示,false用0表示。最后弹出的数是1,其实也就是弹出的是true, 也就是你最开始设置的a的类型。
明白啦,谢谢
非0为真(1) 0为假
上面的最佳回答其实没答到重点!!
编程语言中 1 往往代表 true 是没错,可是在楼主的程序中,如果把 a=a-0; 这段代码去掉,下面的 alert(a); 是能够直接回显 true 的。
之所以楼主的程序回显为 1,其实是因为在 a=a-0; 这段代码中 a 和 0 两个不同数据类型做运算,于是布尔值 true 被强制类型转换为数值 1 了。
JavaScript进阶篇
468196 学习 · 21891 问题
相似问题