以下为loadsh源码中的一段:functionbaseCompareAscending(value,other){if(value!==other){varvalIsReflexive=value===value,othIsReflexive=other===other;if(value>other||!valIsReflexive||(typeofvalue=='undefined'&&othIsReflexive)){return1;}if(valueother||!valIsReflexive||(typeofvalue=='undefined'&&othIsReflexive)){return1;}if(value
2 回答
慕标琳琳
TA贡献1830条经验 获得超9个赞
如@limichange所述,后面一种写法没有完整覆盖所有情况,一个简单的例子是涉及对象的时候baseCompareAscending({},{})关于a===a//false的情况确实只有NaN一种可能,可以看看ECMA标准中关于严格比较的描述。在类型和值都相同的条件下只有NaN会返回false
添加回答
举报
0/150
提交
取消
