为啥当 javascript 命名空间我们说 var myName = myName || [复制]
Posted
技术标签:
【中文标题】为啥当 javascript 命名空间我们说 var myName = myName || [复制]【英文标题】:Why when javascript namespacing do we say var myName = myName || [duplicate]为什么当 javascript 命名空间我们说 var myName = myName || [复制] 【发布时间】:2013-03-26 21:05:24 【问题描述】:我找不到这种格式背后的原因?
我假设它是检查这个变量之前是否已创建,如果是,则取那个变量而不是空白对象。
但是当我分配它时,我想不出它是如何或为什么已经存在的。
【问题讨论】:
使用命名空间,您可能希望添加到现有命名空间中,而不是总是创建一个新命名空间。在您的情况下,这可能不是必需的,但这就是您可以使用它的原因:) 【参考方案1】:符号完全按照您的建议执行。
这确实适用于您可能有多个可能创建相同对象的 javascript 包含的情况,并且您不想破坏可能已经定义的对象。
【讨论】:
【参考方案2】:您的假设是正确的,如果它存在,它将默认为现有变量,否则会创建一个新对象。
没有看到代码,很难判断它之前是如何初始化的,但它通常用于可能已经被调用的模块/构造函数。目的是在执行该函数时使用“单例”而不是新实例。
【讨论】:
以上是关于为啥当 javascript 命名空间我们说 var myName = myName || [复制]的主要内容,如果未能解决你的问题,请参考以下文章