JS中的==運(yùn)算: [''] == false —>true
計(jì)算下面表達(dá)式的值:
[''] == false
首先,兩個(gè)操作數(shù)分別是對(duì)象類型、布爾類型。根據(jù)圖1,需要將布爾類型轉(zhuǎn)為數(shù)字類型,而false轉(zhuǎn)為數(shù)字的結(jié)果是0,所以表達(dá)式變?yōu)椋?/p>
[''] == 0
兩個(gè)操作數(shù)變成了對(duì)象類型、數(shù)字類型。根據(jù)圖1,需要將對(duì)象類型轉(zhuǎn)為原始類型:
首先調(diào)用[].valueOf(),由于數(shù)組的valueOf()方法返回自身,所以結(jié)果不是原始類型,繼續(xù)調(diào)用[].toString()。
對(duì)于數(shù)組來說,toString()方法的算法,是將每個(gè)元素都轉(zhuǎn)為字符串類型,然后用逗號(hào)','依次連接起來,所以最終結(jié)果是空字符串'',它是一個(gè)原始類型的值。
此時(shí),表達(dá)式變?yōu)椋?/p>
'' == 0
兩個(gè)操作數(shù)變成了字符串類型、數(shù)字類型。根據(jù)圖1,需要將字符串類型轉(zhuǎn)為數(shù)字類型,前面說了空字符串變成數(shù)字是0。于是表達(dá)式變?yōu)椋?/p>
0 == 0
到此為止,兩個(gè)操作數(shù)的類型終于相同了,結(jié)果明顯是true。
相關(guān)文章
javascript:void(0)的真正含義實(shí)例分析
void操作符解釋2008-08-08Bootstrap的fileinput插件實(shí)現(xiàn)多文件上傳的方法
這篇文章主要介紹了Bootstrap的fileinput插件實(shí)現(xiàn)多文件上傳的方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-09-09Echarts圖表分析巴西隊(duì)歷年戰(zhàn)績(jī)實(shí)例詳解
這篇文章主要為大家介紹了Echarts圖表分析巴西隊(duì)歷年戰(zhàn)績(jī)實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-12-12JavaScript彈出新窗口并控制窗口移動(dòng)到指定位置的方法
這篇文章主要介紹了JavaScript彈出新窗口并控制窗口移動(dòng)到指定位置的方法,涉及javascript針對(duì)彈出窗口的操作技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-04-04javascript實(shí)現(xiàn)根據(jù)時(shí)間段顯示問候語的方法
這篇文章主要介紹了javascript實(shí)現(xiàn)根據(jù)時(shí)間段顯示問候語的方法,涉及javascript時(shí)間與字符串的相關(guān)操作技巧,需要的朋友可以參考下2015-06-06