質問

var UI$Contract$ddlForm_change = function() {

    //'this' is currently the drop down that fires the event
    // My question is can I change the context so "this" represents another object? 
    this = SomeObject;

    // then call methods on the new "this"
    this.someMethod(someParam);   
};

これは可能ですか?

役に立ちましたか?

解決

いいえ、それは不可能です。

値を指定してメソッドを呼び出すことができます。 これ (使用して method.apply()/method.call()) ただし、キーワードを再割り当てすることはできません。 this.

他のヒント

あなたはthisはの関数内でのからを指し、内容を変更することはできません。

ただし、することができます。の呼び出しの特定のコンテキスト内の関数 - 特定のオブジェクトを参照するcallように - 。applyを使用するか、<=>

J-Pは正しいです。これは不可能です。 JavaScriptの言語仕様書ECMA-262を参照してください。ここから、標準をダウンロードすることができます:

http://www.ecma-international.org/publications/標準/ ECMA-262.htmする

ファイルは、ECMA-262.pdfおよび39ページ、セクション10.1.7です。

  

10.1.7この

     

に関連付けられ、この値があります   すべてのアクティブな実行コンテキスト。ザ・   この値は、呼び出し元に依存し、   コードの種類は、実行されています   コントロールが入るときに決定   実行コンテキスト。この値   実行コンテキストに関連付けられています   不変である。

"不変である" に注意してください。すなわち、変更することはできません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top