嗨,我看到这行代码
CtvDfpAd.GetInstance = function () {
if (!CtvDfpAd.__instance) {
CtvDfpAd.__instance = new CtvDfpAd();
}
return CtvDfpAd.__instance;
};
是“实例”javascript中的关键字?我在网上搜索,我不相信,有人可以解释一下吗?
由于
答案 0 :(得分:3)
不,__ instance不是关键字。双下划线前缀似乎是将成员变量视为私有的约定,因为JavaScript没有私有变量的概念。
此代码是JavaScript中Singleton模式的实现。单例类意味着它被设计为在程序的整个生命周期中只有一个实例。此函数检查实例是否存在 - 如果存在,则返回它。否则它会创建一个并返回新实例。
答案 1 :(得分:1)
instanceof是JavaScript中的关键字。除此之外,它是面向对象编程中的技术术语。您发布的代码使用公共模式来实例化对象
答案 2 :(得分:1)
看起来实例只是该CtvDfpAd对象的受保护属性。看起来它可能是基于此处展示的模式的单身人士:
http://addyosmani.com/resources/essentialjsdesignpatterns/book/#singletonpatternjavascript
通过阅读该文章,您几乎肯定会更好地了解该代码的作用,但简而言之,这段代码正在做什么: