以下为loadsh源码中的一段:functionbaseCompareAscending(value,other){if(value!==other){varvalIsReflexive=value===value,othIsReflexive=other===other;if(value>other||!valIsReflexive||(typeofvalue=='undefined'&&othIsReflexive)){return1;}if(valuereturn-1; }}return0;}比较大小。问题一,代码写法问题,为什么不写成下面代码这种形式,在我看来两种写法是等价的,但是下面的精简了一层{},上面的那个写法我没有看出其他的含义functionbaseCompareAscending(value,other){if(value===other)return0;varvalIsReflexive=value===value,othIsReflexive=other===other;if(value>other||!valIsReflexive||(typeofvalue=='undefined'&&othIsReflexive)){return1;}if(valuereturn-1; }}问题2:除了NaN的情况外,是否还存在value===value为false的情况?
慕标琳琳
相关分类