誰かが関数内で親の親オブジェクトにアクセスできるより洗練された方法を知っていますか?関数内で祖父母コンテキストを取得
var obj = {
subobj : {
func1 : function() {
// here 'this' will refer to window
// i want to access obj instead
}
}
};
var obj = {
func1 : function() {
// i know 'this' here will refer to bj
}
}
私も
var obj = {
subobj : {
func1 : function() {
// even 'this' will refer to window
}.bind(this)
}
}
を試みたが、それは外にあるので、これさえバインドの例では「これは」ウィンドウを参照します。
は私がfunc1の内側
var _this = obj;
を行うことができますが、私はこの醜いトリックを使用しないでください。
私は基本的にfunc1の中でobjコンテキストを取得したい、またはobobコンテキストをsubobjに追加したいと思っています。 私は今何か考えることができません、あなたからの提案はありますか?
THANKS
関数 'func1'の中で' obj'にアクセスできます。それはすでに閉鎖の中で捕らえられています。なぜあなたは文脈を混乱させる必要がありますか?単に 'function(){console.log(obj);}' –
を使用してください。直接objアクセスについて言及しましたが、将来objをobj2に変更すると、それ自体が内部で使用されているかどうかをチェックしてください。 –
* "...しかし、将来objをobj2に変更すると、それ自体がどこでも使用されているかどうかをチェックしてそこで変更する必要があります" *リバクタリングの名前変更をサポートしているIDEを使用するのはなぜですか? – DaoWen