我有一個對象在我的課像這樣:Javascript附加一個對象語法糖?
this.options = {
a: 1,
b: 2,
...
};
,如果有一種方法來「連接」選項對象JavaScript中的電流範圍,這樣我可以參考a
和b
我只是想知道直接(而不是this.options.a
和this.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來實現這一點)。
啊哈,'帶'是*完全*我以後。我瞭解它的使用注意事項(R中的'with'''' attach'函數帶有類似的警告/在R社區中被類似的理解所對待)。乾杯! (目前我正在用你的第二種方法解決它)。 –