【问题标题】:Why when javascript namespacing do we say var myName = myName || {} [duplicate]为什么当 javascript 命名空间我们说 var myName = myName || {} [复制]
【发布时间】:2013-03-26 21:05:24
【问题描述】:

我找不到这种格式背后的原因?

我假设它是检查这个变量之前是否已创建,如果是,则取那个变量而不是空白对象。

但是当我分配它时,我想不出它是如何或为什么已经存在的。

【问题讨论】:

  • 使用命名空间,您可能希望添加到现有命名空间中,而不是总是创建一个新命名空间。在您的情况下,这可能不是必需的,但这就是您可以使用它的原因:)

标签: javascript javascript-namespaces


【解决方案1】:

符号完全按照您的建议执行。

这确实适用于您可能有多个可能创建相同对象的 javascript 包含的情况,并且您不想破坏可能已经定义的对象。

【讨论】:

    【解决方案2】:

    您的假设是正确的,如果它存在,它将默认为现有变量,否则会创建一个新对象。

    没有看到代码,很难判断它之前是如何初始化的,但它通常用于可能已经被调用的模块/构造函数。目的是在执行该函数时使用“单例”而不是新实例。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-05-09
      • 2022-12-17
      • 1970-01-01
      • 2020-11-21
      • 1970-01-01
      • 2023-01-14
      • 2012-01-21
      • 1970-01-01
      相关资源
      最近更新 更多