MST

星途 面试题库

面试题:JavaScript中函数作为命名空间如何避免变量冲突

在JavaScript中,说明函数作为命名空间是怎样有效避免全局变量冲突的,并给出一个简单示例代码。
42.9万 热度难度
编程语言JavaScript

知识考点

AI 面试

面试题答案

一键面试

在JavaScript中,函数可以作为命名空间来有效避免全局变量冲突,这是因为函数内部定义的变量和函数都在其自身作用域内,不会污染全局作用域。

示例代码如下:

// 创建一个自执行函数作为命名空间
(function () {
    // 在命名空间内部定义变量
    let localVar = 'This is a local variable';

    // 在命名空间内部定义函数
    function localFunction() {
        console.log(localVar);
    }

    // 调用内部函数
    localFunction();
})();

// 这里尝试访问 localVar 或 localFunction 会报错,因为它们不在全局作用域
// console.log(localVar); // 报错:localVar is not defined
// localFunction(); // 报错:localFunction is not defined