-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"){

您必须使用==来比较值。只有一个=用于分配值。

于 2012-06-24T15:20:26.020 回答