私は単純なnode.js websocketサーバーを構築しています。クライアントからサーバーに要求を送信して、処理するだけです(害を及ぼすことはありません) 。理想的には、クライアントは2つの変数を持つオブジェクトをサーバーに渡します。その1つはオブジェクト用で、もう1つは呼び出すオブジェクト内の特定の関数用です。このような何か:変数を使ってオブジェクト関数を呼び出す
var callObject = {
'obj': 'testObject',
'func':'testFunc'
}
var testObject = {
func: function(){
alert('it worked');
}
}
// I would expect to be able to call it with sometihng like.
console.log(window[callObject.obj]);
console.log(window[callObject.obj][callObject.func]);
それはいつも私に語った、(Node.jsのではなく、ブラウザウィンドウのそれを使用していないので)私はグローバルでそれを呼び出してみましたが、それは動作しません。 undefinedのcallObject.funcを見つけることができません。 callObject.objのconsole.logを呼び出すと、オブジェクト変数が文字列として期待通りに表示されます。オブジェクト自体にconsole.logを実行すると、オブジェクトが返されます。
私はこれがかなりシンプルだと思っていますが、私のGoogle-fuは失敗しています。
これはうまくいく方法はありません。 'window'のような' global'もありません。 'callObject.obj'のswitch文のように、もっとコードを書くか、別のオブジェクトの中で呼び出す全てのオブジェクトを保持する必要があります。 – Ross