更好地理解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贡献1891条经验 获得超3个赞
if (callback && typeof(callback) === "function") { // execute the callback, passing parameters as necessary callback();}
error
data
MYYA
TA贡献1868条经验 获得超4个赞
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
提交
取消