Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Глобальная переменная (https://javascript.ru/forum/misc/39899-globalnaya-peremennaya.html)

gyus 16.07.2013 17:02

Глобальная переменная
 
Здравствуйте!
Прошу помочь:

При запуске нижеприведенного кода изменения глобальной переменной а в функции fst() не "видны" в функции scd(). Т.е. кликая на "Первое слово", а затем на "Второе слово" получаенм алерты с разными значениями переменной а. Как такое может быть?

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<title>Тест</title>
</head>
<script language="javascript">
var a=1;
function scd()
{
alert('Второе значение равно '+a);
}
function fst()
{
a++;
alert('Первое значение равно '+a);
}
</script>
<body>
<span contenteditable="true" onblur="fst();" >Первое слово</span>
<br>
<span onmousedown="scd();" >Второе слово</span>
</body>
</html>

skrudjmakdak 16.07.2013 17:06

все правильно:
сначала увеличили на единицу
потом вывели
потом еще раз вывели

gyus 16.07.2013 17:10

Цитата:

Сообщение от skrudjmakdak (Сообщение 262631)
все правильно:
сначала увеличили на единицу
потом вывели
потом еще раз вывели

не понимаю.
а=а+1
выводим а=2
теперь еще раз выводим ту же переменную...
и видим a равное 1

skrudjmakdak 16.07.2013 17:26

ааа вон как..
видимо сначала срабатывает событие onmousedown, а потом onblur

gyus 16.07.2013 17:30

Цитата:

Сообщение от skrudjmakdak (Сообщение 262637)
ааа вон как..
видимо сначала срабатывает событие onmousedown, а потом onblur

нет. очередность событий как-будто правильная. сначала onblur, потом onmousedown. Это видно по очередности появления алертов.

skrudjmakdak 16.07.2013 17:34

в консоль сначала упадет onmousedown, а потом blur
<html>
	<script language="javascript">
	function scd()
		{
		console.log('onmousedown');
		}
	function fst()
		{
		console.log('blur');
		}
	</script>
	<body>
		<span contenteditable="true" onblur="fst();" >Первое слово</span>
		<br>
		<span onmousedown="scd();" >Второе слово</span>
	</body>
</html>


Часовой пояс GMT +3, время: 03:48.