javaScript でクラス エミュレーションを使用したい。これは好みです。
モジュールパターンを使用してきましたが、パブリックおよびプライベートのメンバー変数と関数を作成できるため、単純な関数オブジェクトのみを使用することを検討しています。
クラスをエミュレートする関数オブジェクトの例を次に示します。
var input = document.getElementById('input');
var output = document.getElementById('output');
function test()
{
var private_var = 'private_var';
var private_func = function(){ return 'private_func';};
var my = {};
my.public_var = 'public_var';
my.public_func = function(){ return 'public_func';};
return my;
}
var object_test = new test();
alert( '| ' + object_test.public_var);
alert( '| ' + object_test.private_var);
alert( '| ' + object_test.public_func() );
alert( '| ' + object_test.private_func() );
クラスをエミュレートするモジュール パターンの例を次に示します。
主な違いは何ですか? 暗黙のグローバルを明示的にする機能以外に、何かありますか?