我是JavaScript中的新手,我在比较2个字符串时遇到了问题。
进入一个函数我有这个代码:
var selectedProjectStatusText = selectedProjectStatus.options[selectedProjectStatus.selectedIndex].text;
alert("== " + selectedProjectStatusText == "-- Please Select --");
alert("=== " + selectedProjectStatusText === "-- Please Select --");
我正在使用alert()
函数来尝试如何使用字符串比较器。
问题是当alert()
变量包含selectedProjectStatusText
字符串时,-- Please Select --
都说我为FALSE。
为什么呢?我错过了什么?可能是问题的原因是什么?我该如何解决?我错过了什么?
答案 0 :(得分:7)
您需要从条件语句的开头删除"=== " +
,或者用括号"=== " + (condition)
括起来试试这个:
alert(selectedProjectStatusText == "-- Please Select --");
如果您想查看字符串contains
' - 请选择 - '那么您的情况不正确,您应该使用
alert(string.indexOf('-- Please Select --') > -1);
答案 1 :(得分:7)
尝试将条件放在括号中,以便在字符串连接之前对其进行评估。
var selectedProjectStatusText = "-- Please Select --";
alert("== " + (selectedProjectStatusText == "-- Please Select --"));
alert("=== " + (selectedProjectStatusText === "-- Please Select --"));

答案 2 :(得分:1)
您可以使用JS concat()函数以您使用的格式显示比较结果:
var selectedProjectStatusText = "-- Please Select --";
alert("== ".concat(selectedProjectStatusText == "-- Please Select --"));
alert("=== ".concat(selectedProjectStatusText === "-- Please Select --"));
“==”:等于,而 “===”:等值和相等的类型