|
объявление переменной
Всем привет, может кто поможет понять следующий код:
Цитата:
Этот код эквивалентен следующему: Цитата:
Почему так происходит ? Как document.write() может выводить значение переменной last_message_id, если определена она уже после функции? |
mikello,
JS сначала считывается и интерпретируется, фиксируются все определения, и уже потом исполняется. Поэтому неважно, где стоит определение переменной по порядку кода скрипта. И еще, мне кажется, вам стоит почитать про асинхронность запросов. |
Следующий пример выведет значение undefined (чем этот пример отличается от предыдущего? ничем,однако здесь undefined):
function a() { document.write(f); } a(); var f=0; В предыдущем примере переменная определялась ПОСЛЕ функции, так почему она была доступна уже внутри самой функции? Цитата:
|
mikello,
Признаю, ошибся - издержки поограммирования на нескольких языках одновременно. В вашем первом примере переменная определена раньше, чем используется при вызове функции - типа поменяйте местами две последние строки в вашем последнем примере |
Я ошибся, пример на самом деле такой :
Цитата:
|
Не совсем так: переменная определяется раньше, чем выполняется функция по событию ready
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script> <script>$(document).ready(function () { console.log('Внутри'); console.log(f); }); console.log('Снаружи'); var f=0; </script> |
Теперь понятно) Спасибо.
|
А как сделать так, чтобы сначала мы ожидали ответа от $(document).ready(function(){}), а уже потом присваивали значение 0 переменной f?
|
mikello,
Присвоить значение переменной внутри document ready function |
Цитата:
Цитата:
|
Часовой пояс GMT +3, время: 08:49. |
|