我了解将一个函数作为回调传递给另一个函数并让其执行,但我不了解实现此目的的最佳实现。我正在寻找一个非常基本的示例,例如:
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.
});
}
};
在myFirstFunction中,如果我确实返回了新的callback(),则它可以工作并执行匿名函数,但这对我来说似乎不是正确的方法。
在什么意义上正确?通常,回调用于事件处理程序(最著名的是Ajax调用,它们是异步的),基本上是您不知道何时(或是否)响应的事情。
—
cletus
顺便说一句,参数是类似数组的数组,而不是array,所以您不能做arguments.length,但是可以使用slice方法将其转换为数组...
—
paul
@paul,尽管您说
—
hotshot309 2011年
arguments
的不是数组,但您仍然可以将其长度引用为arguments.length
-试试看。此属性指的是实际传入的参数数量,而不一定是函数签名中的参数数量。