当我们使用小于或等于运算符时,这是在抽象关系比较算法的幕后工作。例如。a <= b;像这样转换为 JavaScript!(b < a)EcmaScript Spesification 说 ( http://www.ecma-international.org/ecma-262/5.1/#sec-11.8.5 ) 这表明至少有一个操作数是 NaN 小于 return undefined 这就是意义var a = 1;var b = "asd"a < b // b.toNumber() => NaN and this is operation return undefined (false)如果我们像这样使用var a = 1;var b = "asd"a <= b // this convert to !(b < a) and (b<a) return undefined// and !(undefined) must be true但是 EcmaScript 规范说这是 return false。这对我来说很有趣,这是什么原因?
添加回答
举报
0/150
提交
取消