我已經認識到,構造函數可以被實例化使用JavaScript創建它有自己的_proto_財產,也給物業「原型」的構造函數的新對象。的javascript:構造函數VS揭示模塊模式爲一次性使用
function MyController() {
var controllerName = 'initialcontroller';
function init() {
console.log(controllerName);
}
this.init = init;
}
這裏,初始化可以這樣調用:
var mycontroller = new MyController();
mycontroller.init();
假如我只實例只有一次,再也沒有,這不就是矯枉過正,如果我不打算使用的所有原型屬性由MyController.prototype提供?
問題:相反,我可以不使用顯露模塊模式代碼也是這樣嗎?
var myController = function() {
var controllerName = 'initialcontroller';
function init() {
console.log(controllerName);
}
return {
init : init
}
}();
這裏,初始化可以這樣調用:
myController.init();
在這種情況下,如果我嘗試訪問裏面說myController的不存在任何財產,JavaScript引擎將不會嘗試找到該物業是否存在於原型鏈中的任何地方,從而節省了我的時間。
還是有實例,我很俯瞰功能的任何其他優勢?
是的,你可以使用揭示模塊模式像這樣的代碼。這是完全有效的JS。 此外,我猜,更短的代碼。 – Cerbrus