我使用JSLint来浏览JavaScript,并且在做比较语句内部的操作时,返回了很多建议来替换==(两个等号)===(三个等号)。idSele_UNVEHtype.value.length == 0if 有没有性能优势,以代替==用===? 许多比较运算符存在,任何性能改进都会受到欢迎。 如果没有类型转换发生,会不会有性能增益==? 答案 除非没有完成类型转换,否则identity(===)运算符的行为与equality(==)运算符的行为相同,并且类型必须相同才能被视为相同。 参考:Javascript教程:比较运算符 在完成任何必要的类型转换之后,==操作员将进行比较。该运营商将不会进行转换,因此,如果两个值是不一样的类型将简单地返回。两者同样快速。======false 引用Douglas Crockford的优秀JavaScript:The Good Parts, JavaScript有两套平等运算符:===和!==,他们的双胞胎==和孪生兄弟!=。好的那些以你期望的方式工作。如果两个操作数具有相同的类型并具有相同的值,则===生成true并!==生成false。当操作数是相同类型的时候,邪恶的双胞胎做正确的事情,但如果它们是不同类型的,他们试图胁迫价值。他们所做的规则很复杂且难以理解。这些是一些有趣的情况: '' == '0' // false 0 == '' // true 0 == '0' // true false == 'false' // false false == '0' // true false == undefined // false false == null // false null == undefined // true