Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Не меняется значение переменной (https://javascript.ru/forum/events/42561-ne-menyaetsya-znachenie-peremennojj.html)

vasdram 31.10.2013 18:59

Не меняется значение переменной
 
Здравствуйте, вы не могли бы пояснить, почему не меняется значение переменной:

<div id="sss">asd</div>
<script>

var str = "";
document.getElementById('sss').onclick = function(e) {

var a = prompt('', '');
if(a == 1){
str = '123';
}
if(a == 2){
str = '456';
}

return str

//console.log(str);
}

console.log(str);

</script>

danik.js 31.10.2013 19:44

Цитата:

Сообщение от vasdram
Здравствуйте, вы не могли бы пояснить, почему не меняется значение переменной:

С чего ты взял? Вставил алерт чтоб видно было:
<div id="sss">asd</div>
<script>

var str = "";
document.getElementById('sss').onclick = function(e) {

var a = prompt('', '');
if(a == 1){
str = '123';
}
if(a == 2){
str = '456';
}
alert(str); // <---- добавил эту строчку
return str

//console.log(str);
}

console.log(str);

</script>

vasdram 01.11.2013 00:57

Я наверно неправильно объяснил, мне нужно что бы во внешнию переменную str сохранилось новое значение, а если вывести этот alert за пределы функции ее значение остается undefined

рони 01.11.2013 01:06

Цитата:

Сообщение от vasdram
если вывести этот alert за пределы функции ее значение остается undefined

инструкция по использованию
жмак test alert пусто
жмак asd вводим 2 жмак Ok alert 456
жмак test alert 456
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
</head>

<body>
<div id="sss">asd</div><div id="sss" onclick="alert(str);">test</div>
<script>

var str = "";
document.getElementById('sss').onclick = function(e) {

var a = prompt('', '');
if(a == 1){
str = '123';
}
if(a == 2){
str = '456';
}
alert(str); // <---- добавил эту строчку
return str

//console.log(str);
}

console.log(str);

</script>
</body>

</html>


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