我在这里查看 Addy Osmani 的发布/订阅模式要点:
https://github.com/addyosmani/pubsubz/blob/master/pubsubz.js
他将他的对象显示为一个全局对象,如下所示:
;(function ( window, doc, undef ) {
var topics = {},
subUid = -1,
pubsubz ={};
....
getPubSubz = function(){
return pubsubz;
};
window.pubsubz = getPubSubz();
创建 getPubSubz
函数的值(value)是什么?简单地写不是更直接吗:
window.pubsubz = pubsubz;
最佳答案
是的,在这种情况下,因为 getPubSubz
只在一个地方被调用,所以在声明它之后,它可以立即被安全地内联。
很难说出作者的确切想法,但在不断增长的代码库中,拥有一个“getter”函数可能有一定的值(value),如果获取 pubsubz
对象需要更高级的逻辑。
关于javascript - 从函数的返回值创建全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24810788/