Сообщение от AlexanderFilatov
|
А мне думается, что функция одна
|
Тогда должно выполняться равенство
function makePhrase(phrase) {
return function(name) {
return phrase + ', ' + name;
}
}
var phraseHi = makePhrase;
var phraseBye = makePhrase;
alert(phraseHi===phraseBye);
phraseHi = makePhrase('Привет');
phraseBye = makePhrase('Пока');
alert(phraseHi===phraseBye);
А оно не выполняется в твоем случае...
Сообщение от AlexanderFilatov
|
Можете привести наглядный пример!?
|
Так это же очевидно!
В твоем примере возвращается функция. Даже если текст у нее будет одинаковый - это таки разные объекты (читай функции). Про что тебе писали выше.
function test() {
return function() {
alert('Ok');
}
}
var fnc0 = test();
var fnc1 = test();
alert(fnc0===fnc1);
Т.ч. ты просто думаешь не верно.