// 第一种
var checkObj = {
checkEmail(){/**/},
checkName(){/**/}
}
// 第二种
var checkObj1 = function () {
return {
checkEmail(){/**/},
checkName(){/**/}
}
}
// 第三种
var CheckObj2 = function() {
this.checkEmail = function(){/**/},
this.checkName = function(){/**/}
}
checkObj.checkName();
checkObj1().checkName();
var checkObj2 = new CheckObj2();
checkObj2.checkName();
首先:如果你的代码逻辑就是这么简单,只需要使用第一种就可以了。
第一种是 对象的字面量声明,第二种和第三种 类似。一个是工厂函数,一个是构造函数。
第一种没办法进行 作用域隔离,也无法做私有变量
第二种和第三种;可以做到,
第一种的
优势:
编写简单直接,调用的时候也很方便,全局共享。
缺点:
没办法做隔离
第二种和第三种:
优势:采用对象的编程模式,每次使用都可以创建新的对象,作用域隔离,扩展性好,可以创建出来各种个样的对象
缺点:使用的时候,必须要先创建对象,