Code前端首页关于Code前端联系我们

js 命名空间

terry 2年前 (2023-09-09) 阅读数 196 #Javascript
文章标签 JavaScript命令空间
js命名空间js 命名空间

什么是命名空间?

命名空间是空间中一组实体、变量、函数和对象的封装。

JavaScript 有多种方法可以实现这一点,查看示例可以让这个概念更容易理解。

创建命名空间最简单的方法是创建对象:

const car = {
  start: () => {
    console.log('start')
  },
  stop: () => {
    console.log('stop')
  }
}

start 和 stop 在 car 命名空间中命名:car.start() 和 car.stop()。

它们不会污染全局变量。

为什么这很重要?

此方法还可以在对象创建后为其分配变量

const car = {}

car.start = () => {
  console.log('start')
}

car.stop = () => {
  console.log('stop')
}

但由于参考了汽车目的地,仍然可以从外部访问它们。

从外部完全隐藏代码的最佳方法是将其包装在一个块中,该块是用大括号括起来的代码的一部分,例如 if 或 for 块,但也可以是形成的单独块,例如: :

{
  const start = () => {
    console.log('start')
  }

  const stop = () => {
    console.log('stop')
  }
}

这两个功能现在在块外不可用。

但是你必须小心,始终使用基于块的let或const。

使用 var“泄漏”到其块之外。

要解决这个问题,您可以使用“旧”的 pre-let/const 方法的函数:

(function() {
  var start = () => {
    console.log('start')
  }

  const stop = () => {
    console.log('stop')
  }
})()

现在 start 和 end 无法从外部访问,即使 start 被分配给使用参数 var 定义的变量。

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

上一篇:ES2020 JavaScript 功能 下一篇:js chaincall

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门