यहाँ के लिए एक अच्छा उपयोग है with
: ऑब्जेक्ट ऑब्जेक्ट में नए तत्वों को जोड़ना, उस ऑब्जेक्ट में संग्रहीत मानों के आधार पर। यहाँ एक उदाहरण है जो मैंने अभी उपयोग किया है:
मेरे पास संभव टाइलों का एक सेट था (ऊपर, नीचे, बाएं या दाएं तरफ खुलने के साथ) जिसका उपयोग किया जा सकता था, और मुझे टाइलों की एक सूची जोड़ने का एक त्वरित तरीका चाहिए था जिसे हमेशा खेल की शुरुआत में रखा और बंद किया जाएगा। । मैं types.tbr
सूची में प्रत्येक प्रकार के लिए टाइपिंग नहीं रखना चाहता था , इसलिए मैंने इसका उपयोग किया with
।
Tile.types = (function(t,l,b,r) {
function j(a) { return a.join(' '); }
// all possible types
var types = {
br: j( [b,r]),
lbr: j([l,b,r]),
lb: j([l,b] ),
tbr: j([t,b,r]),
tbl: j([t,b,l]),
tlr: j([t,l,r]),
tr: j([t,r] ),
tl: j([t,l] ),
locked: []
};
// store starting (base/locked) tiles in types.locked
with( types ) { locked = [
br, lbr, lbr, lb,
tbr, tbr, lbr, tbl,
tbr, tlr, tbl, tbl,
tr, tlr, tlr, tl
] }
return types;
})("top","left","bottom","right");