原因是這樣的,在對對象里一個時間字段進(jìn)行排序展示的時候再膳,google瀏覽器運(yùn)行是正常的挺勿,而ie并沒有發(fā)生改變,起先我以為是常見的‘YYYY-MM-DD’和‘YYYY/MM/DD’在不同瀏覽器上的識別問題饵史,后來轉(zhuǎn)念一想應(yīng)該不是的满钟,畢竟我已經(jīng)把它們都用moment處理成了moment對象,而且使用了moment.js的isAfter()函數(shù)
在ie下結(jié)果sort居然沒有任何作用
然后我Google一下胳喷,原來是因?yàn)閟ort后面跟著的排序函數(shù)湃番,需要返回正數(shù)、負(fù)數(shù)或者0才是標(biāo)準(zhǔn)的影響排序的函數(shù)吭露。而如上例所示的采用返回布爾值的函數(shù)作為排序函數(shù)是一種誤用吠撮。
看來以后看書還是得仔細(xì),當(dāng)時我就一直很好奇高級程序設(shè)計里為啥要用1讲竿,-1,0來作為返回值泥兰,網(wǎng)上的一些demo經(jīng)常直接返回a>b害死人
ps,我嘗試著在Safari瀏覽器中試了一下也會有這種問題存在题禀,平時還是得嚴(yán)謹(jǐn)一些