请问为什么第一种写法是错的,第二种就是对的?

第一个:
var a = prompt("请输入数字" , "");
while( a != -1 ){
......
}

第二个:
var a;
while( (a=prompt("请输入数字" , "") )!= -1){
.....
}

请问为什么第二种就能成功执行,第一种就不行呢,谢谢。

阅读 2.9k
5 个回答

第一种 如果prompt填入的值不是-1的话会进入死循环 因为prompt只执行一次 然后就赋值给a, a的值一直是第一次prompt的值,prompt只调用过一次。

第二种 在while里面a=prompt("请输入数字" , "") , 每次while的时候都会调用一次prompt, 所以a每次的值都会根据prompt的值更新。

一个执行一次就开始通过a值while循环,一个是每一次循环都要输入值,你是想问什么?

第一个不是不能执行成功,是一直在循环

第一种是死循环。循环结果 添加 break;就可以跳出当前循环了

var a;
do{
    a = prompt("请输入数字" , "");
}while( a != -1);
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题