プロトタイプを使用して JavaScript 関数のスケルトンを作成しました。
'use strict';
var functionName = (function () {
var functionName = function(param1){
console.log("functionName " + param1);
this.init(param1);
};
// public function
functionName.prototype = {
init : function(param1) {
console.log("init " + param1);
var privateVar = param1;
this.setFunction();
},
setFunction : function() {
console.log("setFunction");
// do stuff here
}
};
return functionName;
}());
// Instances creation
var f1 = new functionName("f1");
var f2 = new functionName("f2");
f1.setFunction();
console.log("private var : " + f1.privateVar);
こちらのコードを参照して ください。どう思いますか? このスクリプトのログは次のとおりです。
functionName f1 (index):25
init f1 (index):32
setFunction (index):37
functionName f2 (index):25
init f2 (index):32
setFunction (index):37
setFunction (index):37
private var : undefined (index):51
なんで三回も見たのかわからないsetFunction
。誰かがアイデアを持っていますか?
関数のプロトタイプはSetFunction
一度実行されるべきではありませんか?