我已经看到了以下从构造函数返回公共接口的样式:
function AnObjectConstructor() {
function localFunc() {};
function publicFunc() {};
// public interface
var _this = {
publicFunc: publicFunc
};
return _this;
};
我喜欢这种风格,因为公共接口显然在一个地方,而且 localFunc 可以在不使用 _this 的情况下访问 publicFunc
这段代码也可以这样写:
function AnObjectConstructor() {
function localFunc() {};
function publicFunc() {};
// public interface
var _this = this;
_this.publicFunc = publicFunc;
return _this;
};
这两种形式都旨在与 new 一起使用:
var obj = new AnObjectConstructor();
obj.publicFunc();
我不清楚这两种形式是否相同,希望有人能帮助我吗?
也将不胜感激对这种风格的任何一般性评论。