如何在javascript中定义实例

时间:2014-02-27 18:32:57

标签: javascript

嗨,我看到这行代码

CtvDfpAd.GetInstance = function () {
    if (!CtvDfpAd.__instance) {
        CtvDfpAd.__instance = new CtvDfpAd();
    }

    return CtvDfpAd.__instance;
};

是“实例”javascript中的关键字?我在网上搜索,我不相信,有人可以解释一下吗?

由于

3 个答案:

答案 0 :(得分:3)

不,__ instance不是关键字。双下划线前缀似乎是将成员变量视为私有的约定,因为JavaScript没有私有变量的概念。

此代码是JavaScript中Singleton模式的实现。单例类意味着它被设计为在程序的整个生命周期中只有一个实例。此函数检查实例是否存在 - 如果存在,则返回它。否则它会创建一个并返回新实例。

答案 1 :(得分:1)

instanceof是JavaScript中的关键字。除此之外,它是面向对象编程中的技术术语。您发布的代码使用公共模式来实例化对象

答案 2 :(得分:1)

看起来实例只是该CtvDfpAd对象的受保护属性。看起来它可能是基于此处展示的模式的单身人士:

http://addyosmani.com/resources/essentialjsdesignpatterns/book/#singletonpatternjavascript

通过阅读该文章,您几乎肯定会更好地了解该代码的作用,但简而言之,这段代码正在做什么:

  • 如果已有我们的单身实例,请将其退回。
  • 否则,请创建此对象的新实例并返回该实例。