Ниже у нас есть IIFE , который (как и любая функция) создает локальную область видимости. Внутри этой области есть функция parseInt
. Теперь, поскольку в браузере уже есть глобальная функция с таким именем, локальная функция затмит глобальную функцию parseInt
- внутри IIFE любой вызов parseInt
вызовет локальную функцию , а не глобальный. (На глобальную функцию по-прежнему можно ссылаться с помощью window.parseInt
.)
parseInt('123', 10); // the browser function is called
(function() {
function parseInt() { return 'overshadowed'; }
parseInt('123', 10); // the local function is called
})();
parseInt('123', 10); // the browser function is called
Существует ли де-юре (спецификация ECMAScript) или де-факто (общий) название для этого? Затмение? Перегрузка?