Berikut ini adalah penggunaan yang baik untuk with
: menambahkan elemen baru ke Obyek Literal, berdasarkan nilai yang disimpan dalam Objek itu. Berikut ini contoh yang baru saya gunakan hari ini:
Saya memiliki satu set ubin yang mungkin (dengan bukaan menghadap atas, bawah, kiri, atau kanan) yang dapat digunakan, dan saya ingin cara cepat untuk menambahkan daftar ubin yang akan selalu ditempatkan dan dikunci pada awal permainan . Saya tidak ingin terus mengetik types.tbr
untuk setiap jenis dalam daftar, jadi saya hanya menggunakannya 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");