JS两个相同的字符串被判断为不相等问题
今天在写js的时候,遇到一个奇怪的问题,明明两个字符串相等,用alert()打印出来都一样,typeof的结果都是string,
仔细查看过了首尾都没有空格。
可是用a==b却判断为不相等
虽然两个字符串肉眼看上去没有区别,但是用encodeURIComponent()处理后可能不一样,(我处理后发现有个字符串前面有 %EF%BB%BF,另一个则没有 )
解决办法:a.trim() == b.trim() 或者用正则表达式去掉可能存在的字符