Показать сообщение отдельно
  #1 (permalink)  
Старый 22.08.2012, 14:58
Аспирант
Отправить личное сообщение для Nubi Посмотреть профиль Найти все сообщения от Nubi
 
Регистрация: 06.08.2008
Сообщений: 43

Пердача функции по ссылке. Где подвох?
Всем привет!

К примеру, есть такой код:

function message (msg) {
    alert(msg);
}                           
var newMessage = message;        
message = null;        
newMessage("Hello!");

К сожалению не нашел как тут вставить код, что бы посетители могли его запустить, но не в этом суть.

Прошу объясните на пальцах такое поведение. Известно, что функции передаются по ссылке (поскольку они суть объекты). В данном случае идентификаторы message и newMessage это просто указатели на одну и ту же функцию. Почему когда я затираю один указатель (message = null) функция все еще доступна по второму указателю. Ведь по идее если я изменяю один указаетель, это должно отражаться и на всех остальных указателях. Но, по-моему я это не правильно понимаю... А что тут происходит на самом деле ?
Ответить с цитированием