[過去ログ] + JavaScript の質問用スレッド vol.84 + (1001レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
420(4): 2011/03/10(木)21:36 ID:eJR+lZ3V(1/5) AAS
javascriptのプライベートメソッドはどのように定義するべきなのでしょうか。
検索してみたところ、以下の方法が最も良いのではないかと思うのですが、もしより良い手段がありましたら教えてください。
var MyClass = function(){};
MyClass.prototype = (function(){
var privateMethod = function(){
//プライベートコード
};
return {
publicMethod : function(){
privateMethod.call(this);
省3
421(2): 2011/03/10(木)21:40 ID:??? AAS
>>420
var MyClass = function(){
this.privateMethod = function(){}; // プライベートメソッド
};
424(1): 2011/03/10(木)21:58 ID:??? AAS
>>420
jsにはprivate修飾子なんてないから規約で決めるのが一番いいと思うね
this._method = function(){〜};
this._var = "hello";
プライベートには_を付けるというコーディング規約がある(PHPのzendとかいろいろ)
外部リンク[html]:framework.zend.com
425(2): 2011/03/10(木)22:04 ID:??? AAS
>>420
var MyClass = function(){
function privateMethod (){}
this.publicMethod = function publicMethod () { privateMethod.call(this); }:
};
429(1): 2011/03/10(木)22:15 ID:eJR+lZ3V(3/5) AAS
>>425
リロードせずに見落としていました。こういうことですよね?
function MyClass (){
var privateMethod = function(){
alert('hoge');
};
this.publicMethod = function () {privateMethod.call(this);}
};
その方法はたしかに読みやすくプログラミングしやすいと思うのですが、そのメソッドはインスタンスごとに生成されてしまわないでしょうか。
メモリの観点からみるとprototypeを使って>>420よりも読みやすい方法があるといいのですが……。
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.035s