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

标签 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
};

我不明白的是Disqus是如何处理这个函数的,因为pageundefined,所以我们不能访问identifier或者网址。 我测试了几个例子:

disqus_config();
console.log(disqus_config.page);
var a = new disqus_config();

但是我还是不明白Disqus是怎么处理这个undefined元素的。

最佳答案

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

var _config = window.disqus_config;
window.disqus_config = function () {
    if (_config) _config.call(this);
    // Other stuff here....
};

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

关于JavaScript - Disqus 如何处理其包含未定义属性的 "disqus_config"函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34463988/

相关文章:

javascript - 传递 undefined 等同于不传递任何参数吗?

javascript - 为我的网站加载自定义社交按钮,例如 Gplus 或 FB

javascript - 如何导航到另一个html页面?

javascript - 在同一对象的函数中访问变量

php - 函数中的类成员函数?

java - 从不同的类访问时不执行方法

include 中的 PHP 变量未定义

node.js - module.exports 返回值未定义

javascript - 使用 jQuery 为什么文档不作为字符串传递?

javascript - 如何在angularjs中声明 Controller