使用匿名函数进行 JavaScript 封装


面向对象的编程语言允许使用私有字段隐藏数据。它们使用这些字段隐藏类的内部机制。在 JS 中,没有此类内置支持可用于隐藏/封装内部工作原理。

我们有匿名函数,可以在 JS 中提供封装。我们来看看一个例子 -

示例

const HIDDEN_CONST = 100;
function fnWeWantToHide(x, y) {
   return (x + y) * HIDDEN_CONST
}
console.log(fnWeWantToHide(1, 2))

如果我们将上面的代码编写成开放的形式,此代码将使用这些名称污染全局命名空间。相反,我们可以将其包装在 IIFE(立即调用的函数表达式)中。例如:

示例

(() => {
const HIDDEN_CONST = 100;
function fnWeWantToHide(x, y) {
   return (x + y) * HIDDEN_CONST
}
console.log(fnWeWantToHide(1, 2))
})()

现在,这些变量隐藏在函数表达式中。但是,函数和 const 不再污染全局命名空间。

更新于: 27-11-2019

320 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始
广告