19

这是正确的方法吗?如果 somevar 的值等于字符串,我希望语句运行?

if (somevar = '836e3ef9-53d4-414b-a401-6eef16ac01d6'){
 $("#code").text(data.DATA[0].ID);
}
4

3 回答 3

48

No. = 将 somevar 设置为具有该值。使用 === 来比较返回所需布尔值的值和类型。

永远不要使用或建议 == 而不是 ===。这是灾难的秘诀。例如 0 == "" 是真的,但 "" == '0' 是假的,还有更多。

更多信息也在这个很好的答案中

于 2012-09-21T09:07:09.190 回答
9

不,当您只使用一个“=”时,您正在分配变量。

您必须使用“==”:您必须使用“===”:

if (somevar === '836e3ef9-53d4-414b-a401-6eef16ac01d6'){
 $("#code").text(data.DATA[0].ID);
}

如果需要,您可以使用类似.toLowerCase()功能来避免大小写问题

于 2012-09-21T09:07:22.500 回答
1

首先,您应该使用双“==”而不是“=”来比较两个值。在这种情况下,使用“=”为变量赋值“somevar”

于 2012-09-21T09:09:50.967 回答