这两种JavaScript模式有什么区别吗?

前端之家收集整理的这篇文章主要介绍了这两种JavaScript模式有什么区别吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
看一些 JavaScript库和其他人的代码,我看到了两种常见的模式,我不知道使用其中一种是否存在差异或优势.模式看起来像这样:

1.

var app = (function () {
    // Private vars

    // Module
    var obj = {
        prop: "",method: function () {}
    };

    return obj;
})();

2.

(function () {
    // Private vars

    // Module
    var obj = {
        prop: "",method: function () {}
    };

    window.app = obj;
})();

这些模式是相同的还是其中一个比另一个具有优势或用途?

提前致谢.

解决方法

第二个假设在父作用域中存在一个名为window的对象,并在那里分配一个属性.

第一个将它留给调用者进行赋值,并且不依赖于定义的窗口(它可能只在Web浏览器中).

所以,我会说第一个肯定更好(更自足,更少依赖环境).

猜你在找的JavaScript相关文章