私のクラスには次のようなオブジェクトがあります。
this.options = {
a: 1,
b: 2,
...
};
オプションオブジェクトをJavascriptの現在のスコープに「アタッチ」して、(との代わりaに)b直接参照できるようにする方法があるかどうか疑問に思いました。何かのようなもの:this.options.athis.options.b
attach(this.options);
var myVariable = a + 3; // 4
detach(this.options);
また
with( this.options, {
// code here
var myVariable = a + 3; // 4
});
上記では、attachとwithは、のすべての子を取得this.optionsして現在のスコープにアタッチする効果があるため、のa代わりにを介してアクセスできますthis.options.a。(withバージョンは、完了すると単に切り離さthis.optionsれ、そのスコープ内に損傷を与える可能性のあるアタッチメントを囲みます)。
Spidermonkey / Mozillaエンジンで動作する限り、ポータブルでなくてもかまいません。
好奇心と怠惰のためにこれに言及するだけです:ネストされた名前はすべて入力するのが面倒になり、R言語ではこれが可能であることを知っています(実際、上記のスニペットの構文はほぼ正確にあなたが書くものですこれを達成するためにRで)。