Home » , , » JavaScript “Extend”

JavaScript “Extend”

Fungsi ini setara dengan JQuery.extend() yang memungkinkan kita untuk menciptakan variabel opsional, dimana variabel tersebut bisa dinyatakan ataupun ditiadakan. Jika tidak dinyatakan, maka nilai variabel yang tidak hadir tersebut akan jatuh pada nilai default yang telah ditentukan di dalam fungsi:

// http://stackoverflow.com/a/12317051/1163000
function extend(target, source) {
target = target || {};
for (var prop in source) {
if (typeof source[prop] === "object") {
target[prop] = extend(target[prop], source[prop]);
} else {
target[prop] = source[prop];
}
}
return target;
}

Contoh Penggunaan

function myFunction(config) {

var defaults = {
firstName: 'Taufik',
lastName: 'Nurrohman',
age: 22
};

// Extend...
config = extend(defaults, config);

return config;

}

Ketika Anda mengubah beberapa nilai variabel konfigurasi, maka variabel-variabel konfigurasi default yang lain yang tidak diubah akan menyesuaikan:

myFunction({
firstName: 'Foo'
});

Hasil

JavaScript Extend Test via Window Console
Taufik telah berubah menjadi Foo.

Sebenarnya dulu Saya sudah pernah menulis posting yang sejenis dengan ini. Tapi metode yang Saya tuliskan dalam posting tersebut tidak mampu untuk menangani objek multi-dimensi seperti ini:

var defaults = {
option_1: value_1,
option_2: value_2,
option_3: {
option_3_1: {
option_3_1_1: value_3_1_1,
option_3_1_2: value_3_1_2
},
option_3_2: value_3_2,
option_3_3: value_3_3
},
option_4: value_4
};
Jika Anda menyukai Artikel di blog ini, Silahkan klik disini untuk berlangganan gratis via email, dengan begitu Anda akan mendapat kiriman artikel setiap ada artikel yang terbit di Creating Website

0 comments:

Post a Comment

 
Support : Creating Website | Johny Template | Mas Template
Copyright © 2011. Homtimpa - All Rights Reserved
Template Modify by Creating Website
Proudly powered by Blogger