JavaScript - Disqus如何处理包含未定义属性的"disqus_config"函数?

Gug*_*upf 5 javascript function undefined disqus

以下是Disqus的"通用代码"的一部分:

var disqus_config = function () {
    this.page.url = PAGE_URL;  // Replace PAGE_URL with your page's canonical URL variable
    this.page.identifier = PAGE_IDENTIFIER; // Replace PAGE_IDENTIFIER with your page's unique identifier variable
};
Run Code Online (Sandbox Code Playgroud)

我不知道的是Disqus如何处理这个函数,因为pageundefined,所以我们无法访问identifierurl.我测试了几个例子:

disqus_config();
console.log(disqus_config.page);
var a = new disqus_config();
Run Code Online (Sandbox Code Playgroud)

但我仍然不明白Disqus如何处理这个undefined元素.

Cip*_*anu 2

据我所知,在embed.js代码中它是这样的:

var _config = window.disqus_config;
window.disqus_config = function () {
    if (_config) _config.call(this);
    // Other stuff here....
};
Run Code Online (Sandbox Code Playgroud)

因此,在替换它之前,disqus 检查它是否存在,然后在它自己的范围内运行它。