我调用这样的函数:
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
。为什么呢?
答案 0 :(得分:6)
单个等号字符(=
)无法比较。它指定!因此,您的if
语句始终会将"grupp"
分配到type
并返回true
。
使用==
或===
进行比较。
答案 1 :(得分:1)
我想你的意思是
if (type == "grupp"){
您必须使用==
来比较值。只需一个=
来分配值。