Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/429.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么警报框不显示更新的值?_Javascript - Fatal编程技术网

Javascript 为什么警报框不显示更新的值?

Javascript 为什么警报框不显示更新的值?,javascript,Javascript,我为java脚本编写了非常小的代码。在这个消息框中,值发生了更改,但它显示的是旧值(14+32),而不是更新后的值(14+32+10) 风险值编号=(14+32); 警报(否); 否=(14+32+10); 有人能说出这背后的实际原因吗?Alert是同步函数(就像JS中的大多数函数一样),因此在更改var no之前会弹出Alert()这些语句的执行顺序是顺序和同步的,因此,警报在执行时打印no的当前值 或者换句话说:当您再次更改no的值时,alert语句已经执行了,因为代码是向下执行的 &

我为java脚本编写了非常小的代码。在这个消息框中,值发生了更改,但它显示的是旧值(14+32),而不是更新后的值(14+32+10)


风险值编号=(14+32);
警报(否);
否=(14+32+10);

有人能说出这背后的实际原因吗?

Alert
是同步函数(就像JS中的大多数函数一样),因此在更改
var no
之前会弹出
Alert()
这些语句的执行顺序是顺序和同步的,因此,
警报
在执行时打印
no
的当前值


或者换句话说:当您再次更改
no
的值时,
alert
语句已经执行了

,因为代码是向下执行的

 <script type="text/javascript">
     var no=(14+32);
     alert(no);
     no =(14+32+10);
     alert(no);
  </script>

风险值编号=(14+32);
警报(否);
否=(14+32+10);
警报(否);

现在你可以看到差异了

因为事实就是这样。
警报
显示传递给它的值,而不显示其他值。编辑:如前所述,
alert
实际上会阻止执行,但即使它没有阻止,您也不会看到任何更改。在java脚本中,每件事情都会以顺序和同步的方式进行?不是全部:例如超时、间隔、ajax调用、web套接字、事件。。。它们都是异步的。JS在设计上确实是异步的
 <script type="text/javascript">
     var no=(14+32);
     alert(no);
     no =(14+32+10);
     alert(no);
  </script>