JS两个相同的字符串被判断为不相等问题

今天在写js的时候,遇到一个奇怪的问题,明明两个字符串相等,用alert()打印出来都一样,typeof的结果都是string,

仔细查看过了首尾都没有空格。

可是用a==b却判断为不相等

后来在网上查了资料,

虽然两个字符串肉眼看上去没有区别,但是用encodeURIComponent()处理后可能不一样,(我处理后发现有个字符串前面有 %EF%BB%BF,另一个则没有 )

解决办法:a.trim() == b.trim()

原文地址:https://www.cnblogs.com/liaokaichang/p/7567433.html