Я обнаружил странное поведение, пытаясь воспроизвести что-то еще, и я подумал, что это интересно.
Мой пример jsbin здесь
Код ядра:
<div id="diag">
<script type="text/javascript">
$(document).ready(function(){
if(x==undefined){
var x=1;
}else{
x=x+1;
}
alert(x);
});
</script>
</div>
(внизу страницы)
$(document).ready(function(){
$('#diag').dialog();
});
$.dialog
Я знаю, что этот сценарий будет перемещен в DOM, поэтому ожидается, что он будет выполнен дважды.Тем не менее, результаты отличаются от ожидаемых.
Я ожидал, что он скажет 1, а затем 2. Однако, он говорит 1, а затем 1 снова.Как это вообще возможно?Это поведение одинаково для Firefox5, Chrome и IE8