你知道下面两个函数是否相同?['null','','undefined']。indexOf(str)<0和(str!== null || str!==''|| str!== undefined)是否等同?
function validate(str)
{
return (['null','','undefined'].indexOf(str) < 0);
}
和
function validate(str)
{
return (str !== null || str !== '' || str !== undefined);
}
的问题主要出现由于空和未定义的indexOf阵列中的撇号。
不,因为第一个代码搜索实际的字符串'null'和'undefined'..第二个代码检查str是否为'null'或'undefined' –