Tôi có một hàm chấp nhận bất kỳ số lượng và loại đối số nào, do đó không có tham số cụ thể nào được xác định. Hàm này nên gọi một hàm khác chuyển tất cả các đối số.Làm cách nào để chuyển tất cả các đối số dưới dạng tập hợp sang một hàm khác chứ không phải là đối số đơn?
Vấn đề là tôi có thể vượt qua "đối số" để bao gồm tất cả các đối số nhưng trong trường hợp này nó sẽ hoạt động giống như một đối số chứ không phải cách chúng ta mong đợi đối số hoạt động.
Một ví dụ:
Các chức năng chính:
function handleCall() {
// let's call a sub-function
// and pass all arguments (my question is how this is handled the right way)
function callSubFunction(arguments);
}
function callSubfunction(userid, customerid, param) {
// passed arguments are now
alert('userid = ' + userid);
// this will not work, you have to use arguments[2]
alert(param);
}
The example call:
handleCall(1029, 232, 'param01');
Sử dụng phương pháp trên, tất cả các đối số sẽ được lưu trữ trong "userid" như pseudo-mảng và các mặt hàng có thể được truy cập ví dụ đối số [2] nhưng không sử dụng tên tham số "param".
Trong ColdFusion, giải pháp cho công cụ như vậy là tham số "argumentCollection", theo cách này bạn có thể chuyển các tham số được lưu trữ trong cấu trúc mà không bị chuyển đổi thành một đối số có kiểu struct chứa tất cả khóa/giá trị.
Làm cách nào để có thể đạt được điều tương tự với JavaScript?