为什么我输入true显示没票,输别的显示有票。换成输入0或1的话结果是正确的

来源:4-2 二选一 (if...else语句)

大神在路上

2016-06-09 18:34

<title>if...else</title>

<script type="text/JavaScript">

function tic(){

var ticket =prompt("输入查询");//ticket初值为true,表示有票


if(ticket==true)  

{

document.write("有票,可以看电影。");

}

else  

{

document.write("没票,电影看不成。");

}}

</script>

</head>

<body>

<form>

    <input type="button" value="点击输入" onclick="tic()">

</form>

</body>


写回答 关注

2回答

  • _坐看云起时
    2016-06-09 19:47:03
    已采纳

    这句 var ticket =prompt("输入查询");获取的是到的是字符串类型的变量,而你下面进行比较的是布尔类型,这就不匹配了,你可以改成 if(ticket==“true”)   而你说的输入0,1等就是你的逻辑问题了。应为0,1等不等于字符串"true",所以就都进入了else。

    Molly喜 回复大神在路上

    数字0返回布尔值false,除了0以外的返回布尔值true;

    2017-12-11 14:32:37

    共 5 条回复 >

  • qq_kslyhell_03283658
    2016-06-09 19:20:36

    我尝试了一下,觉得因为多了个等号吧。==改成=,这样的话输入true或是1,输出的结果都是有票。

    大神在路上

    谢谢你的答案。我感觉判断if 的条件中间还是应该用“==”等号的,而=表示赋值。

    2016-06-09 21:31:08

    共 1 条回复 >

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468061 学习 · 21891 问题

查看课程

相似问题