Tôi hiểu việc chuyển một chức năng sang một chức năng khác như một cuộc gọi lại và thực hiện nó, nhưng tôi không hiểu cách thực hiện tốt nhất để làm điều đó. Tôi đang tìm một ví dụ rất cơ bản, như thế này:
var myCallBackExample = {
myFirstFunction : function( param1, param2, callback ) {
// Do something with param1 and param2.
if ( arguments.length == 3 ) {
// Execute callback function.
// What is the "best" way to do this?
}
},
mySecondFunction : function() {
myFirstFunction( false, true, function() {
// When this anonymous function is called, execute it.
});
}
};
Trong myFirstFunction, nếu tôi trả về hàm gọi lại mới (), thì nó hoạt động và thực thi hàm ẩn danh, nhưng đó dường như không phải là cách tiếp cận chính xác với tôi.
arguments
không phải là một mảng, bạn vẫn có thể tham chiếu độ dài của nó như là arguments.length
- hãy thử. Thuộc tính này đề cập đến số lượng đối số thực sự được truyền vào và không nhất thiết là số lượng tham số trong chữ ký hàm.