({} + 'y' > {} + 'x');1.我個人的理解應該是{}先toPrimitive(Number)調(diào)用valueOf()然后再調(diào)用toString()方法變成[object Object]。2.所以就變成了'[object Object]y' > '[object Object]x'3.之后我看了ecmascript規(guī)范中的11.8.3抽象關系比較算法 就不懂了為什么會是true。否則,px 和 py 都是 Strings 類型(1).如果 py 是 px 的一個前綴,返回 false。(當字符串 q 的值可以是字符串 p 和一個其他的字符串 r 拼接而成時,字符串 p 就是 q 的前綴。注意:任何字符串都是自己的前綴,因為 r 可能是空字符串。) (2).如果px 是 py 的前綴,返回 true。 (3).讓 k 成為最小的非負整數(shù),能使得在 px 字符串中位置 k 的字符與字符串py字符串中位置 k 的字符不相同。(這里必須有一個 k,使得互相都不是對方的前綴) (4).讓 m 成為字符串 px 中位置 k 的字符的編碼單元值。 (5).讓 n 成為字符串 py 中位置 k 的字符的編碼單元值。 (6).如果 n<m,返回 true。否則,返回 false。
求解JavaScript一道類型轉(zhuǎn)換比較大小的題
收到一只叮咚
2019-03-14 22:15:53