我有一个示例代码:
window.fbAsyncInit = function() {
FB.init({appId: appId, status: true, cookie: true, xfbml: true});
// Additional initialization code such as adding Event Listeners goes here
FB.getLoginStatus(function(response) {
if (response.status === 'connected') {
getFlag(1);
} else if (response.status === 'not_authorized') {
getFlag(2);
} else {
getFlag(3);
}
});
};
var f = function getFlag(flag){};
alert(f);
结果是function getFlag(flag) {}
,If = 1就是,如何获得此值
答案 0 :(得分:0)
您的代码中的几点。
1)由于您将getFlag
函数分配给变量getFlag
,因此不会执行调用f
函数。因此,您需要使用f()
调用该函数。
2)由于您的代码alert(f)
将在函数执行之前到达,因此您的函数是异步调用。
3)如果你想要标志值,为什么你不要只声明一个变量并分配它。
var flag;
FB.getLoginStatus(function(response) {
if (response.status === 'connected') {
this.flag = 1;
} else if (response.status === 'not_authorized') {
this.flag = 2;
} else {
this.flag = 3;
}
});