Показать сообщение отдельно
  #1 (permalink)  
Старый 27.03.2011, 15:41
Профессор
Отправить личное сообщение для demoniqus Посмотреть профиль Найти все сообщения от demoniqus
 
Регистрация: 28.05.2008
Сообщений: 182

Почему так происходит.
Писал скрипт и столкнулся с такой бадягой: имею в функции (F2) переменную result, которая создается именно внутри функции и которой внутри этой функции присваивается некоторое значение. Потом я внутри текущей функции (F2) вызываю другую функцию (F1), внутри которой создается своя переменная result, которой присваивается некоторое значение, и которая возвращается посредством return - полученное значение присваивается внутри F2 в переменную result1. После этого значение переменной result внутри функции F2 оказывается переписанным... ПОЧЕМУ??? И есть ли подобные бадяги в JS, о которых следует знать заранее?
function F1() {
result = 'Ничего';
return result;
}

function F2 {
result = 'Что-то';
alert (result);// выведет 'Что-то'
result1 = F1();
alert (result);// выведет 'Ничего'
}
Ответить с цитированием