Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #41 (permalink)  
Старый 19.11.2017, 22:56
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,124

mikello,
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  </style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

  <script>

$(document).ready(function() {
alert(f);// 1
});
var f = 1;

  </script>
</head>

<body>


</body>
</html>
Ответить с цитированием
  #42 (permalink)  
Старый 19.11.2017, 22:58
Аспирант
Отправить личное сообщение для mikello Посмотреть профиль Найти все сообщения от mikello
 
Регистрация: 18.11.2017
Сообщений: 68

Теперь выводит Undefined
Ответить с цитированием
  #43 (permalink)  
Старый 19.11.2017, 23:00
Аспирант
Отправить личное сообщение для mikello Посмотреть профиль Найти все сообщения от mikello
 
Регистрация: 18.11.2017
Сообщений: 68

Когда у меня выводилась единица, мой код был таким:

Цитата:
<script>
window.onload=function(){
$(document).ready(function() {
alert(f);// undefined
});

var f = 1;
}
</script>
Почему единица выводилась?
Ответить с цитированием
  #44 (permalink)  
Старый 19.11.2017, 23:02
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,124

mikello,
чтоб не было проблем обьявите переменную до использования
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  </style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

  <script>
window.onload=function(){
var f = 1;
$(document).ready(function() {
alert(f);//1
});

}
  </script>
</head>

<body>


</body>
</html>
Ответить с цитированием
  #45 (permalink)  
Старый 19.11.2017, 23:05
Аспирант
Отправить личное сообщение для mikello Посмотреть профиль Найти все сообщения от mikello
 
Регистрация: 18.11.2017
Сообщений: 68

Цитата:
window.onload=function(){
$(document).ready(function() {
alert(f);
});
var f = 1;
}
После того как страница полностью загрузилась, происходит выполнение window.onload, а так как страница полностью загрузилась то почему функция ready не выполняется первой ?
Ответить с цитированием
  #46 (permalink)  
Старый 19.11.2017, 23:12
Аспирант
Отправить личное сообщение для mikello Посмотреть профиль Найти все сообщения от mikello
 
Регистрация: 18.11.2017
Сообщений: 68

Все разобрался, а с этим не поможете ?

Цитата:
$(document).ready(function()
{
alert(f);
var f=0;
})
var f=1;
почему alert выводит undefined?
Ответить с цитированием
  #47 (permalink)  
Старый 19.11.2017, 23:18
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,124

mikello,
на момент алерта переменная(var f=0 создана, но значение ещё не присвоено.
переменная var f=1; не имеет значения
Ответить с цитированием
  #48 (permalink)  
Старый 19.11.2017, 23:20
Аспирант
Отправить личное сообщение для mikello Посмотреть профиль Найти все сообщения от mikello
 
Регистрация: 18.11.2017
Сообщений: 68

Вроде понятно. Спасибо.

а как это будет выглядеть в интерпретаторе, он же последовательно все делает. Как он создает переменную , если она объявляется после alert?
Ответить с цитированием
  #49 (permalink)  
Старый 19.11.2017, 23:22
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,124

Сообщение от mikello
почему функция ready не выполняется первой ?
потому что load срабатывает позднее ready, плюс ready внутри load, и в данном случае он раньше не может.
Ответить с цитированием
  #50 (permalink)  
Старый 19.11.2017, 23:24
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,124

Сообщение от mikello
Как он создает переменную , если она объявляется после alert?
он сначала записывает по именам всех зверей в зоопарке скопе, потом их взвешивает инициализирует
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изменение значения переменной в режиме реального времени The_FactioN jQuery 3 09.03.2016 12:20
посылка переменной kent0026 jQuery 5 04.01.2014 17:34
Как значение переменной вставить в имя переменной? jsgogo Общие вопросы Javascript 3 02.06.2013 12:11
правильное объявление переменной Karpo Общие вопросы Javascript 5 29.09.2010 15:35
Видимость еременных. Объявление и присваивание. DonLino jQuery 9 12.08.2010 12:44