帮助三元运算符

时间:2011-06-29 15:43:00

标签: javascript jquery

我认为我没有正确使用三元运算符,因为我没有得到结果:

buildHTML.push("<a href='http://mysite/user?screen_name=" + data.friend == null ? data.user.me : data.friend + "'>" + data.friend == null ? data.user.me : data.friend + "</a>");

如果nullfriend,则会向我null,如果friendfriend,则会向我not null

如果mefriendnull friend如果friendnot null,则应该{{1}}。

我做错了什么?

3 个答案:

答案 0 :(得分:4)

结束三元逻辑:

buildHTML.push("<a href='http://mysite/user?screen_name=" + (data.friend == null ? data.user.me : data.friend) + "'>" + (data.friend == null ? data.user.me : data.friend) + "</a>");

您可能还需要检查data.friend是否==或===到null

答案 1 :(得分:1)

尝试添加一些括号:

buildHTML.push("<a href='http://mysite/user?screen_name=" + 
(data.friend == null ? data.user.me : data.friend)
 + "'>" + 
(data.friend == null ? data.user.me : data.friend)
+ "</a>");

答案 2 :(得分:0)

需要注意的一些事项可能有助于您:

  • 比较JavaScript中的项目时使用===而不是==。
  • data.friend可能是未定义的,不同于null,您可能想要进行不同的检查。