是否有一种首选方法可以将.js文件中的函数与页面上其他.js文件的潜在冲突隔离开来?
例如,如果你有一个功能
function AddTag(){}
Run Code Online (Sandbox Code Playgroud)
在Core.js然后有一个
function AddTag(){}
Run Code Online (Sandbox Code Playgroud)
在Orders.js中他们会发生冲突.您如何最好地构建.js文件以及您将使用哪些命名约定来隔离它们?
谢谢
Que*_*tin 20
我将函数的范围限制为该文件.
(function () {
var AddTag = function AddTag () {
};
}());
Run Code Online (Sandbox Code Playgroud)
......有时可以在全球范围内使用其中的一些功能:
var thisNamespace = function () {
var AddTag = function AddTag () {
…
};
var foo = function foo() {
AddTag();
…
};
var bar = function bar() {
…
};
return {
foo: foo,
bar: bar
}
}();
Run Code Online (Sandbox Code Playgroud)
您可以使用'命名空间'.像这样
File1.js:
var Orders = {}
(function(o) {
o.function1 = function() {}
o.function2 = function() {}
})(Orders);
File2.js
var Sales = {}
(function(o) {
o.function1 = function() {}
o.function2 = function() {}
})(Sales);
Run Code Online (Sandbox Code Playgroud)
你可以像这样调用它们:
Sales.function1();
Orders.function1();
Run Code Online (Sandbox Code Playgroud)
通常不要使用全局函数/变量.在这里阅读javascript模块模式http://yuiblog.com/blog/2007/06/12/module-pattern/
| 归档时间: |
|
| 查看次数: |
6162 次 |
| 最近记录: |