これは、作業コードです:JavaScriptの機能のサブ機能/変数を持つ
var test = function()
{
console.log(test.data);
};
test.data = 'hello';
test.set = function (data)
{
test.data = data;
};
test.set('Test');
test();
これは私のJavaScriptコンソールにTest
を出力します。 これを使ってやる方法があれば、私は疑問に思っていましたか?
var test = {
this: function()
{
console.log(test.data);
},
data: 'hello',
set: function (data)
{
test.data = data;
}
};
関数はオブジェクトですが、オブジェクトは関数ではありません。もちろん、オブジェクトのプロパティとして関数を格納することはできますが、単純なオブジェクトを "呼び出し可能"にすることはできません。または、実際に何を達成したいのですか?あなたの2番目のアプローチの利点は何ですか? –
私はfunction test.this()をtest()を使って呼びたいと思っています。 – Ragnis
@Felixポイントを逃していると思います。私は彼がすべての情報をカプセル化しようとしていると思っています。 – xil3