Hỏi về unnamed arguments trong javascript function
-
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ỉ???
-
Bạn tìm hiểu thêm về
Function.prototype
.function X(){ ABCDEFGH.apply(this,arguments); }
-
Ah, thank bạn.