Javascript-回调函数

Javascript-回调函数,javascript,callback,Javascript,Callback,在我的脑海里,这似乎应该奏效,但我不明白为什么不行: (function ($) { $.fn.extend({ facebook: function (opts, callbackFnk) { var $this = this; ... ... ... $this.fbGetFriends = function( clback ){ jsonUrl = fbMe + '/fr

在我的脑海里,这似乎应该奏效,但我不明白为什么不行:

(function ($) {

$.fn.extend({

    facebook: function (opts, callbackFnk) {

        var $this = this;
        ...
        ...
        ...

        $this.fbGetFriends = function( clback ){
            jsonUrl = fbMe + '/friends?access_token=' + token + '&callback=?';
            $.getJSON( jsonUrl, function( json ){
                console.log(json.data[0].name);
                clback.call(json);
            }); 
        }
        ...
        ...
        ...
在控制台日志中显示第一个名称

在我的另一个脚本中:

var facebook = $.fn.facebook(
    { 
        myClientId  : '###############', 
        mySecret    : '##############' 
    }
);

facebook.fbOnLogin = function(){
    user = facebook.userDetails();
    token = facebook.getToken();
    facebook.fbGetFriends(function( json ){
        for ( var i in json ) {
            console.log( 'friends: ' + i + ' ' + json[i] );
        }
    });
}
在控制台日志中,im未显示任何内容,在以前的测试中,显示错误数据未定义

谁能告诉我哪里出了问题


关于你不需要
clback。打电话
,只要
clback(json)
就足够了。

@Kolink已经回答了这个问题,但是你为什么要将这个Facebook库添加到
jQuery.fn
?如果你把它分开的话,它应该不会那么复杂…它是一个完整的android/phonegap插件,实际上可以工作。我已经尝试了以下方法,但将重试。