为了账号安全,请及时绑定邮箱和手机立即绑定

loadsh 源码阅读 问题 001

loadsh 源码阅读 问题 001

翻过高山走不出你 2019-04-19 16:10:58
以下为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
                            
查看完整回答
反对 回复 2019-04-19
  • 2 回答
  • 0 关注
  • 329 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号