0

サンプルコードがあります:

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);

結果は a function getFlag(flag) {}, もし = 1 がまさに, この値を取得する方法

4

1 に答える 1

0

あなたのコードからのいくつかのポイント。

1) 関数を変数に代入したため、呼び出しgetFlag関数は実行されません。したがって、を使用して関数を呼び出す必要があります。getFlagff()

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;
  }
});   
于 2012-11-17T16:26:08.517 に答える