Trong js có khái niệm unnamed arguments, tức là function không cần chỉ rõ tên, số lượng tham số, ví dụ :
function ABCDEFGH(){
for(var i=0; i<arguments.length; i++) {
console.log("Params: , " + arguments[i]);
// biến arguments kiểu array, chứa tham số truyền vào hàm
}
//... làm gì đó tiếp tục...
return xxx;
}
Bây giờ, nói cho đơn giản, mình không muốn dùng cái tên dài ngoằn ABCDEFGH ở trên nữa, nhưng không thể chỉ mở code lên để đổi tên hàm (do hàm đã dùng ở nhiều nơi rồi, không thể đi tìm toàn bộ để đổi,..v.v..); cho nên mình sẽ khai báo thêm 1 hàm X mới:
function X(){
//...
}
Nhưng lại ko lẽ viết (copy & paste) toàn bộ nội dung hàm ABCD... ở trên vào đây ?!!, nên mình chỉ đơn giản gọi lại hàm đó:
function X(){
return ABCDEFGH(/* truyền cái gì ở đây??? */);
}
Vấn đề phát sinh chính chỗ đó: làm sao truyền các tham số của X vào ABCD.. ở bên trong nhỉ???