我遇到了奇怪的行为,比较说当两个字符串明显不相等时是相等的:AngularJS项目,我注入了通过“@@ propertyName”配置一些属性:< / p>
states = '@@states'
其他配置文件中的"states": []
。
最近我想做以下比较:
if (states === '@@states') {
states = ''
}
这意味着如果未注入状态 - 请将其作为空字符串。 这里奇怪的行为是,即使状态包含“{}”或“[]”或对象数组,它也会变为空,尽管值不相等:
只有对象,数组或对象数组才会发生,如果状态是像“testtest”这样的字符串 - 比较可以正常工作。
我找到了一个解决方法,但我仍然对正在发生的事情感兴趣。也许你知道它并且可以解释它。谢谢!