2012-06-01 2 views
-3

Я написал очень маленький код для скрипта java.IN это значение окна сообщения изменяется, но вместо обновленного значения оно отображает старое значение (14 + 32) (14 + 32 + 10).Почему в окне предупреждения не отображается обновленное значение?

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

Может ли кто-нибудь сказать фактическую причину этого?

+0

Потому что так оно и есть. «Предупреждение» показывает значение, которое передается ему, ничего больше. * edit *: Как уже упоминалось, 'alert' фактически блокирует выполнение, но все же, даже если он не блокирует, вы не увидите изменения. –

ответ

2

исполнение заказа эф из этих утверждений является последовательным и синхронным, поэтому alert печати текущего значения no в момент его исполнения

или других словах: если вы измените снова значение noalert выписка уже выполнена

+0

В скрипте java каждая вещь переходит в последовательную и синхронную манеру? – prjndhi

+0

Не все: например, таймауты, интервалы, вызовы ajax, веб-сокеты, события ... все асинхронны. JS по дизайну действительно асинхронный – fcalderan

1

Alert является синхронной функцией (как и большинство из них в JS), поэтому alert() всплывает перед тем, как вы измените var no.

0

потому что код выполнен вниз!

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

Теперь вы можете видеть различия!

Смежные вопросы