更好地理解JavaScript中的回调函数我理解将一个函数作为回调传递给另一个函数,并让它执行,但我并不理解最佳的实现。我正在寻找一个非常基本的例子,如下所示: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中,如果我确实返回了新的回调(),那么它就能工作并执行匿名函数,但这似乎不是正确的方法。
3 回答
富国沪深
TA贡献1790条经验 获得超9个赞
if (callback && typeof(callback) === "function") { // execute the callback, passing parameters as necessary callback();}
error
data
郎朗坤
TA贡献1921条经验 获得超9个赞
执行一个函数有三种主要的可能性:
var callback = function(x, y) { // "this" may be different depending how you call the function alert(this);};
- 回调(参数1,参数2);
- 调用(一些_Object,参数_1,参数_2);
- CARBACK.Apply(SomeObject,[参数1,参数2]);
您选择的方法取决于:
- 将参数存储在Array中或作为不同的变量存储。
- 您希望在某个对象的上下文中调用该函数。在这种情况下,在回调中使用“this”关键字将引用调用()或application()中作为参数传递的对象。如果不希望传递对象上下文,请使用空或未定义。在后一种情况下,全局对象将用于“this”。
添加回答
举报
0/150
提交
取消