為什么上面這行代碼和下面這行代碼幾個差這么大?
document.write(myarr1+"
"+myarr1.reverse()+"
"+ myarr1.join(""))
為什么上面這行代碼和下面這行代碼幾個差這么大?
document.write(myarr1+myarr1.reverse()+"
"+ myarr1.join(""))
document.write(myarr1+"
"+myarr1.reverse()+"
"+ myarr1.join(""))
為什么上面這行代碼和下面這行代碼幾個差這么大?
document.write(myarr1+myarr1.reverse()+"
"+ myarr1.join(""))
2016-08-30
舉報
2017-08-30
當你用reverse(),原數(shù)組已經(jīng)發(fā)生改變,后面的都是按照改變后的數(shù)組執(zhí)行
2017-08-30
注意:reverse()會改變原來的數(shù)組,而不會創(chuàng)建新的數(shù)組。
2016-10-11
這可能和 document 的輸出機制有關(guān)。
第一行代碼中,myarr1 后面緊跟空字符串 "",所以系統(tǒng)已經(jīng)將 myarr1 的元素提出,與 "" 合并成為一個新字符串,并繼續(xù)往后面的表達式執(zhí)行。
而在第二行代碼中,myarr1 后面跟的是 myarr1.reverse() 這個函數(shù),并沒有將 myarr1 的元素現(xiàn)提出,而是先執(zhí)行了 reverse() 函數(shù),然后再后面是空字符串 "",這時候系統(tǒng)提出前面兩個 myarr1 的元素,與 "" 拼接,而這時 myarr1 的順序已經(jīng)改變。
以上僅是個人推論,如有不對的地方,望指出討論,互相進步。
2016-08-31
myarr1+""+myarr1.reverse() 按順序輸出
myarr1+myarr1.reverse() 字符串計算,myarr1.reverse()優(yōu)先級比加號高,所以先執(zhí)行,上面的代碼不涉及優(yōu)先級
2016-08-30
不需要鉆牛角尖,用<br />。其他沒毛病