คุณสามารถสร้างฟังก์ชันที่รับอาร์กิวเมนต์จำนวนตัวแปร:
function setAttributes(elem ) {
for (var i = 1; i < arguments.length; i+=2) {
elem.setAttribute(arguments[i], arguments[i+1]);
}
}
setAttributes(elem,
"src", "http://example.com/something.jpeg",
"height", "100%",
"width", "100%");
หรือคุณส่งคู่แอตทริบิวต์ / ค่าในวัตถุ:
function setAttributes(elem, obj) {
for (var prop in obj) {
if (obj.hasOwnProperty(prop)) {
elem[prop] = obj[prop];
}
}
}
setAttributes(elem, {
src: "http://example.com/something.jpeg",
height: "100%",
width: "100%"
});
คุณยังสามารถสร้าง / วิธีการห่ออ็อบเจ็กต์ chainable ของคุณเอง:
function $$(elem) {
return(new $$.init(elem));
}
$$.init = function(elem) {
if (typeof elem === "string") {
elem = document.getElementById(elem);
}
this.elem = elem;
}
$$.init.prototype = {
set: function(prop, value) {
this.elem[prop] = value;
return(this);
}
};
$$(elem).set("src", "http://example.com/something.jpeg").set("height", "100%").set("width", "100%");
ตัวอย่างการทำงาน: http://jsfiddle.net/jfriend00/qncEz/
Object.assign()นั้นคุ้มค่ากับการมองหาผู้ที่ไม่ต้องการสร้างฟังก์ชันตัวช่วย - ใช้ได้กับ "คุณสมบัติที่ระบุได้และเป็นของตัวเองทั้งหมด "