如何通过模块化的方式让Javascript代码避免重复执行
1个回答
展开全部
可以使用module模式对代码进行重用和模块化。 假设在文件1.js定义module如下:
var Module = (function(duplication) {
var _private = '';//private variable here
var duplication = {};
duplication.foo = function() {
if(...) {
for(...) {
//define your duplication here
}
}
};
return duplication;//return the public variable
} (Module || {}));
在你的文件2.js中就可以这样使用:
var Module = (function(duplication) {
return duplication;
} (Module || {}));
Module.foo();//use the method defined in 1.js
这样就把一个module分割到了多个文件中,将代码重复部分定义为 public ,彼此可以交叉访问和使用,因为我采用的是松耦合,也可以对函数进行重构,如下:
var Module = (function(duplication) {
duplication.foo = function() {
//refactor method foo here
}
return duplication;
} (Module || {}));
而私有部分则定义为 private ,一般不建议访问彼此的私有对象。
var Module = (function(duplication) {
var _private = '';//private variable here
var duplication = {};
duplication.foo = function() {
if(...) {
for(...) {
//define your duplication here
}
}
};
return duplication;//return the public variable
} (Module || {}));
在你的文件2.js中就可以这样使用:
var Module = (function(duplication) {
return duplication;
} (Module || {}));
Module.foo();//use the method defined in 1.js
这样就把一个module分割到了多个文件中,将代码重复部分定义为 public ,彼此可以交叉访问和使用,因为我采用的是松耦合,也可以对函数进行重构,如下:
var Module = (function(duplication) {
duplication.foo = function() {
//refactor method foo here
}
return duplication;
} (Module || {}));
而私有部分则定义为 private ,一般不建议访问彼此的私有对象。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询