下面我们有一个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
Run Code Online (Sandbox Code Playgroud)
是否有法律上的(ECMAScript规范)或事实(普通)名称?掩盖?超载?