JavascriptPattern/Paradigms的比较/最佳设计实践
Comparison of Javascript Pattern/Paradigms / Best practice of design
我正在编制一份偏见列表(包括支持者和反对者),以向我的团队领导解释为什么我们当前的 javascript 设计已经过时。这是一个开放式问题,我正在寻找第 3 方分析以下范例的优缺点。
我们现有的系统范例如下所示
var class= (function () {
var property1 = 8;
var method2 = function (value) {
var instance = this;
return value;
};
var method1 = function () {
var instance = this;
return "Hello";
};
return {
init: function () {
alert(methodTwo(methodName()));
method2();
console.log(state);
},
method1: function(){
method1();
}
}
})();
我想让他相信以下是最佳实践
namespace.MyClass = function(){
var instance = this;
instance.Property1 = 8;
instance.Method1 = function(){};
instance.Method2 = function(){};
}
var myobject = new namespace.MyClass();
立即调用的函数表达式:
- +范围保护
- +适用于旧版浏览器
Ecmascript 6:
- +现代标准
- -不兼容 ie 8 及更低版本
伪对象定向:
- +更面向对象
- +延迟调用
- -过度依赖 "this pointer"
的实例
我正在编制一份偏见列表(包括支持者和反对者),以向我的团队领导解释为什么我们当前的 javascript 设计已经过时。这是一个开放式问题,我正在寻找第 3 方分析以下范例的优缺点。
我们现有的系统范例如下所示
var class= (function () {
var property1 = 8;
var method2 = function (value) {
var instance = this;
return value;
};
var method1 = function () {
var instance = this;
return "Hello";
};
return {
init: function () {
alert(methodTwo(methodName()));
method2();
console.log(state);
},
method1: function(){
method1();
}
}
})();
我想让他相信以下是最佳实践
namespace.MyClass = function(){
var instance = this;
instance.Property1 = 8;
instance.Method1 = function(){};
instance.Method2 = function(){};
}
var myobject = new namespace.MyClass();
立即调用的函数表达式:
- +范围保护
- +适用于旧版浏览器
Ecmascript 6:
- +现代标准
- -不兼容 ie 8 及更低版本
伪对象定向:
- +更面向对象
- +延迟调用
- -过度依赖 "this pointer" 的实例