问题描述:今天我在js中比较两个两个字符串时,发现明明值相等的两个变量,在if else语句中,却不进入if中,而是去else中运行。
代码如下:
var checkedLanguage=$("#checked-language").text();
if(' en_US '==checkedLanguage){
$("span#checked-en").css('display','inline');
$("span#checked-zh").css('display','none');
}else{
$("span#checked-en").css('display','none');
$("span#checked-zh").css('display','inline');
}
console.log(checkedLanguage);时,输出的是 en_US ,但是js却不运行if中的语句。最后用alert(encodeURIComponent(checkedLanguage));输出了一下,输出的值为%20en_US%20,原来checkedLanguage值得左右都有一个空格,%20表示的便是空格。
问题解决:
使用 String 的 trim()方法去除变量两边的空格。
checkedLanguage.trim();