2009-03-12 28 views
9

Một số chức năng as3 xử lý quá tải bằng cách cho phép đối với một số tùy ý các thông số theo quy ước:điền các tham số (... còn lại) với một mảng?

public function doSomething(... rest):void; 

Tôi đang ở một tình huống mà tôi cần phải vượt qua tất cả các giá trị của một mảng (chiều dài tùy ý) vào loại hình này chức năng ... Tôi không chắc chắn làm thế nào để làm điều này. Gợi ý?

Dưới đây là một giải pháp hack, nhưng nó không phải là mở rộng:

switch (args.length) { 
case 0: doSomething(); break; 
case 1: doSomething(args[0]); break; 
case 2: doSomething(args[0], args[1]); break;} 

Trả lời

14

Check-out Function#Apply(). Nó cho phép bạn vượt qua các tham số như một mảng.

doSomething.apply(contextObj, args); 
1

Here là mẹo rất tốt để chuyển tham số còn lại giữa các hàm.

+0

Cảm ơn bạn đã liên kết bài đăng của tôi và các từ loại. :) – johncblandii

Các vấn đề liên quan