我在这里查看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/

10-12 13:49