jQuery:我怎么知道我在具有多个回调函数的函数内调用正确的回调?

时间:2014-10-05 06:33:21

标签: jquery function callback

我有这样的功能


$.fn.myFunction = function( options, special, callback ) {
    var settings = $.extend({
        opacity     : '',
        margin  : ''
    }, options );

    //while executing this main function, some cool things happen
    if ( special && typeof special === "function" && things_are_running) { 
        special();
    }

    //when finished executing the main function, there is one more thing
    if ( callback && typeof callback === "function" && things_stopped) { 
        callback();
    }
}

我做了一些有趣的事情

$('.selector').myFunction( options, function() { /* this is the question about*/ } );

如果只考虑一次回调,我怎么知道我是在调用special()还是callback()函数?

我应该做这样的事情?

$('.selector').myFunction( options, function() {}, null );

还是这个?

$('.selector').myFunction( options, null, function() {} );

1 个答案:

答案 0 :(得分:1)

是的,但是对于您的第一个示例,您也可以使用

$('.selector').myFunction( options, function() {});

该功能将被分配到特殊的

if ( callback && typeof callback === "function" && things_stopped) {

回调将被评估为false。