相关疑难解决方法(0)

如何在JavaScript中声明命名空间?

如何在JavaScript中创建命名空间,以便我的对象和函数不会被其他同名的对象和函数覆盖?我用过以下内容:

if (Foo == null || typeof(Foo) != "object") { var Foo = new Object();}
Run Code Online (Sandbox Code Playgroud)

这样做有更优雅或简洁的方式吗?

javascript namespaces javascript-namespaces

973
推荐指数
19
解决办法
53万
查看次数

全局命名空间会被污染是什么意思?

全局命名空间会被污染是什么意思?

我真的不明白受污染的全局命名空间意味着什么.

javascript

87
推荐指数
3
解决办法
3万
查看次数

这种定义JS对象的方式有什么用途吗?

我正在维护一些遗留代码,我注意到使用了以下用于定义对象的模式:

var MyObject = {};

(function (root) {

    root.myFunction = function (foo) {
        //do something
    };

})(MyObject);
Run Code Online (Sandbox Code Playgroud)

这有什么用途吗?它只相当于做以下事情吗?

var MyObject = {

    myFunction : function (foo) {
        //do something
    };

};
Run Code Online (Sandbox Code Playgroud)

我不打算采用神圣的方式将整个代码库重构为我的喜好,但我真的很想了解定义对象的迂回方式背后的原因.

谢谢!

javascript javascript-objects

87
推荐指数
6
解决办法
3167
查看次数

如何在命名空间中创建私有变量?

对于我的Web应用程序,我在JavaScript中创建一个名称空间,如下所示:

var com = {example: {}};
com.example.func1 = function(args) { ... }
com.example.func2 = function(args) { ... }
com.example.func3 = function(args) { ... }
Run Code Online (Sandbox Code Playgroud)

我也想创建"私有"(我知道这在JS中不存在)命名空间变量,但我不确定什么是最好的设计模式.

可不可能是:

com.example._var1 = null;
Run Code Online (Sandbox Code Playgroud)

或者设计模式是否是别的?

javascript namespaces private-members

10
推荐指数
2
解决办法
6064
查看次数

JavaScript中的模块和库之间的区别

我正在学习ES6模块.但我对模块和库之间的区别感到困惑.

以及模块和库与node.js包的不同之处.

javascript node.js

9
推荐指数
1
解决办法
1926
查看次数