2-23问题

2-23问题

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>数组排序</title>
</head>
<body>
<script>
var input;
    var arr=[];
    var i=0;
    while(input!=="-1"){
        input=Number(prompt("请输入您想排序的数字"));
        arr[i]=input;
        i++
     }
     // arr.pop();
    arr.sort(function(a,b) {return b-a});
document.write(arr);
</script>
</body>
</html>

老师您好,我这个里面为什么input后面用了!==号之后程序就识别不了-1了,输入了-1之后还是还是会弹出输入框,改为!=又能正常终止循环了。都是-1,不等于和未被赋值有什么区别呢



正在回答

登陆购买课程后可参与讨论,去登陆

1回答

你好,因为!==,全不等,在比较时除了对值进行比较以外,还比较两边的数据类型。这里因为输入的值经过Number()方法之后,是数字,而“-1”是字符串,类型不行等哦。 意味着其两者不等,而非运算自然是true,所以会继续循环。

若能解决你的疑问,望采纳。

祝学习愉快~

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星

相似问题

登录后可查看更多问答,登录/注册

请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师