繁体   English   中英

如何在JavaScript中正确比较2个字符串?

[英]How to properly compare 2 strings in JavaScript?

我绝对不是JavaScript新手,比较2个字符串时遇到问题。

进入函数我有以下代码:

var selectedProjectStatusText = selectedProjectStatus.options[selectedProjectStatus.selectedIndex].text;

alert("== " + selectedProjectStatusText == "-- Please Select --");
alert("=== " + selectedProjectStatusText === "-- Please Select --");

我正在使用alert()函数尝试如何使用字符串比较器。

问题是,无论是alert()说我假,当selectedProjectStatusText变量包含-- Please Select --字符串。

为什么? 我想念什么? 可能是什么原因造成的? 我该如何解决? 我想念什么?

您需要从条件语句的开头删除"=== " + ,或将括号括起来在"=== " + (condition)尝试以下操作:

alert(selectedProjectStatusText == "-- Please Select --");

http://jsfiddle.net/eceb5bpx/

如果要查看字符串是否contains “-请选择-”,则说明您的条件不正确,应改用

alert(string.indexOf('-- Please Select --') > -1);

尝试将条件放在括号中,以便在字符串连接之前对其进行评估。

 var selectedProjectStatusText = "-- Please Select --"; alert("== " + (selectedProjectStatusText == "-- Please Select --")); alert("=== " + (selectedProjectStatusText === "-- Please Select --")); 

您可以使用JS concat()函数以使用的格式显示比较结果:

参见JSFiddle

var selectedProjectStatusText = "-- Please Select --";
alert("== ".concat(selectedProjectStatusText == "-- Please Select --"));
alert("=== ".concat(selectedProjectStatusText === "-- Please Select --"));

“ ==”:等于,而“ ===”:等于值和等于类型

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM