次のように定義されGadget
た1つのメソッドを持つクラスがあります。consider
function Gadget() {
this.consider = function (arg) {
alert(arg);
};
if ("WebSocket" in window) {
var ws = new WebSocket(...);
// the rest truncated
ws.onmessage = function (evt) {
consider(evt.data);
};
}
}
ただし、consider
で失敗するため、仕事に取り掛かることができませんTypeError
。
Uncaught TypeError: Object #<Gadget> has no method 'consider'
this.consider
代わりに使用しようとすると、 WebSocketオブジェクトTypeError
で発生します。を試してみると、Objectオブジェクトで同じエラーが発生します。parent.consider
現在、私の回避策は、次のように、宣言されたインスタンスからメソッドを使用することです。
var player = new Gadget();
player.consider(evt.data)
代わりに。私はこれをするのが好きではありませんが、うまくいきます。オブジェクトの定義されたインスタンスに依存しないようにコードを再配置するにはどうすればよいですか?