thể trùng lặp:
Is it possible to send a variable number of arguments to a JavaScript function?Đi qua số biến của tham số từ một chức năng khác
tôi có thể sử dụng arguments
để có được một số biến của tham số trong một chức năng, nhưng làm thế nào tôi có thể chuyển chúng đến một chức năng khác mà không biết nguyên mẫu của nó?
function show(foo, bar) { window.alert(foo+' '+bar); }
function run(f) { f(arguments); } // not correct, what to do?
run(show, 'foo', 'bar');
Lưu ý: Tôi không thể đảm bảo số lượng các đối số cần thiết cho các chức năng f
được truyền cho run
. Có nghĩa là, mặc dù ví dụ thể hiện có 2 đối số, nó có thể là 0-vô hạn, vì vậy sau đây là không thích hợp:
function run(f) { f(arguments[1], arguments[2]); }
Tôi không đồng ý này, vì bạn có thể thấy, 'show' đã xác định lập luận, nó không sử dụng' arguments'. Tôi đã thử 'áp dụng 'theo cách đó mà không có may mắn. – steveo225
Vâng, như bạn đã nhận thấy bây giờ, 'áp dụng' là cách duy nhất để làm điều này, do đó nó * là * một bản sao. –
Có, ngoại trừ cách 'đối số' được sử dụng hoàn toàn khác và cuối cùng là điểm của câu hỏi. – steveo225