javascript中alert()與console.log()的區(qū)別
[1]alert()
[1.1]有阻塞作用,不點(diǎn)擊確定,后續(xù)代碼無法繼續(xù)執(zhí)行
[1.2]alert()只能輸出string,如果alert輸出的是對(duì)象會(huì)自動(dòng)調(diào)用toString()方法
e.g. alert([1,2,3]);//'1,2,3'
[1.3]alert不支持多個(gè)參數(shù)的寫法,只能輸出第一個(gè)值
e.g. alert(1,2,3);//1
[2]console.log()
[2.1]在打印臺(tái)輸出
[2.2]可以打印任何類型的數(shù)據(jù)
e.g. console.log([1,2,3]);//[1,2,3]
[2.3]支持多個(gè)參數(shù)的寫法
e.g. console.log(1,2,3)// 1 2 3
alert 和 console.log 的結(jié)果不同?
score = [1,2,3]; sortedScore = []; console.log(score); sortedScore = score.sort(sortNumber) console.log(sortedScore); function sortNumber(a, b) { return b - a; }
以上輸出:
[3, 2, 1]
[3, 2, 1]
但是改成alert:
score = [1,2,3]; sortedScore = []; alert(score); sortedScore = score.sort(sortNumber) alert(sortedScore); function sortNumber(a, b) { return b - a; }
以上輸出:
1, 2, 3
3, 2, 1
為什么會(huì)這樣?不應(yīng)該都是:
1, 2, 3
3, 2, 1
嗎?
經(jīng)過一番研究發(fā)現(xiàn)是chrome實(shí)現(xiàn)的問題,對(duì)輸出做了不太合適的優(yōu)化,把console.log的實(shí)際執(zhí)行推遲,相當(dāng)于“惰性”求值,遇上數(shù)組、對(duì)象這樣的引用類型就出上面的問題了。
https://bugs.webkit.org/show_bug.cgi?id=35801
這是一個(gè)很有歷史的 BUG,上個(gè)月在開發(fā)版已經(jīng)修復(fù)了。
相關(guān)文章
JavaScript isArray()函數(shù)判斷對(duì)象類型的種種方法
我們知道,JavaScript中檢測(cè)對(duì)象類型的運(yùn)算符有:typeof、instanceof,還有對(duì)象的constructor屬性2010-10-10關(guān)于layui的下拉搜索框異步加載數(shù)據(jù)的解決方法
今天小編就為大家分享一篇關(guān)于layui的下拉搜索框異步加載數(shù)據(jù)的解決方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-09-09bootstrap 通過加減按鈕實(shí)現(xiàn)輸入框組功能
這篇文章主要介紹了bootstrap 輸入框組 通過加減按鈕來增加刪除內(nèi)嵌輸入框組,當(dāng)我點(diǎn)擊 + 按鈕時(shí),會(huì)添加一行輸入框組;當(dāng)點(diǎn)擊 - 按鈕時(shí),會(huì)刪除這一行輸入框組。具體實(shí)現(xiàn)代碼大家參考下本文2017-11-11nuxt+axios實(shí)現(xiàn)打包后動(dòng)態(tài)修改請(qǐng)求地址的方法
這篇文章主要介紹了nuxt+axios實(shí)現(xiàn)打包后動(dòng)態(tài)修改請(qǐng)求地址的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04JS面向?qū)ο髮?shí)現(xiàn)飛機(jī)大戰(zhàn)
這篇文章主要為大家詳細(xì)介紹了JS面向?qū)ο髮?shí)現(xiàn)飛機(jī)大戰(zhàn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-08-08