Назначение указателя функции Javascript - PullRequest
47 голосов
/ 24 февраля 2010

Рассмотрим этот код JavaScript:

var bar = function () { alert("A"); }
var foo = bar;
bar = function () { alert("B"); };
foo();

При запуске этого кода я получаю "A". Является ли это поведение частью спецификации javascript и могу ли я положиться на него?

Ответы [ 11 ]

0 голосов
/ 03 декабря 2013

Я просто хотел бы добавить, что это также работает для предопределенных именованных функций:

function myfunc() { alert("A"); }
var bar = myfunc;
var foo = bar;
bar = function () { alert("B"); };
foo();

Это будет делать то же самое, указывая, что имена функций действуют как имена массивов (указатели).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...