var Mod=(function() { say('hello');
var say = function (m){ console.log(m); };
return ({a: 'b'}); }
)();
VM3488: 1 Uncaught TypeError: скажем, не является функцией (...) (анонимная функция) @ VM3488: 1 (анонимная функция) @ VM3488: 1IIFE и функция подъема - это не функция ошибки
но это работает
var Mod = (function() {
say('hello');
function say (m){ console.log(m); };
return ({a: 'b'}); }
)();
Почему это происходит? Если мне нужно использовать «say» в качестве публичной функции в своем модуле, как это будет работать?
Это не имеет ничего общего с IIFE, но читать это: http://stackoverflow.com/questions/3887408/javascript-function-declaration-and-evaluation-order/3887590# 3887590 – slebetman