我有一个JS模块来存储一些配置对象。我在c#中使用它就像枚举一样。
当在另一个模块中要求它时,以下两个实现之间有什么区别?
Types.js
define([], function(){
var types = {
typeA: "Type A",
typeB: "Type B",
typeC: "Type C"
};
return {types: types};
});
用法
define(["Types.js"], function(types){
var types = types;
...
});
Types.js
define([], function(){
var init = function(){
var types = {
typeA: "Type A",
typeB: "Type B",
typeC: "Type C"
};
return {types: types};
};
return {init: init};
});
用法
define(["Types.js"], function(types){
var types = types.init();
...
});
这两个实现之间有什么区别吗?或者他们是一样的吗?
答案 0 :(得分:0)
第二个实现更像是OOP风格,因为你可以创建类的几个实例类型:types = new Types(someParams);并使用它的字段和方法。但是第一个实现只返回对象。