-2

私はこのような関数を呼び出します:

call_facebook(103138046395999, "samåkning.se", "http://www.facebook.com/samakning", "page");
call_facebook(16089699074, "Jag ska köra bil, vem vill åka med", "http://www.facebook.com/groups/16089699074/", "grupp")

関数は次のようになります。

function call_facebook(id, name, link, type){
  //snip
  console.log(type)
  if (type = "grupp"){
    var postid=fbposts[fbpost].id.split("_");
    return "https://www.facebook.com/groups/"+postid[0]+"/permalink/"+postid[1]+'/'
  }
  else {
    return fbposts[fbpost].actions[0].link;
  }
}
//snip
};

型引数が異なることを確認しましたが、それでも最初のケースif (type = "grupp")は常に終了しtrueます。なんで?

4

2 に答える 2

5

単一の等しい文字(=)は比較されません。割り当てます!したがって、ifステートメントは常にに割り当て"grupp"typeを返しますtrue

==またはを使用===して比較します。

于 2012-06-24T15:19:24.960 に答える
1

私はあなたが意味したと思います

if (type == "grupp"){

を使用==して値を比較する必要があります。=値を割り当てるために使用されるのは1つだけです。

于 2012-06-24T15:20:26.020 に答える