成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

突然覺(jué)得自己好像沒(méi)學(xué)過(guò)JS

junfeng777 / 1684人閱讀

摘要:既然已經(jīng)發(fā)布,就可能有好事者拿出去當(dāng)面試題。循環(huán)的終止條件簡(jiǎn)單且明確即使在循環(huán)體內(nèi)修改了數(shù)組,也能有效的終止循環(huán)。提前確定了循環(huán)終止條件,避免多次計(jì)算數(shù)組長(zhǎng)度。

先看題:mean的值是什么?
var scores = [10,11,12];
var total = 0;

for(var score in scores){
  total += score;
}

var mean = total/scores.length;
console.log(mean);
是11?

恭喜你:答錯(cuò)了!

是1?

恭喜你:答錯(cuò)了!

正確答案: 4

解釋?zhuān)?for in 循環(huán)循環(huán)的值永遠(yuǎn)是key, key是一個(gè)字符串。所以total的值是:"0012"。它是一個(gè)字符串,字符串"0012"/3,0012會(huì)被轉(zhuǎn)換成12,然后除以3,結(jié)果是4。

后記

這個(gè)示例是來(lái)自《編寫(xiě)高質(zhì)量JavaScript的68個(gè)方法》的第49條:數(shù)組迭代要優(yōu)先使用for循環(huán)而不是for in循環(huán)。
既然已經(jīng)發(fā)布,就可能有好事者拿出去當(dāng)面試題。這個(gè)題目很有可能坑一堆人。其中包括我。

這里涉及到許多js的基礎(chǔ)知識(shí).

for in 循環(huán)是循環(huán)對(duì)象的索引屬性,key是一個(gè)字符串。

數(shù)值類(lèi)型和字符串相加,會(huì)自動(dòng)轉(zhuǎn)換為字符串

字符串除以數(shù)值類(lèi)型,會(huì)先把字符串轉(zhuǎn)為數(shù)值,最終結(jié)果為數(shù)值

正確方法

var scores = [10,11,12];
var total = 0;

for(var i=0, n=scores.length; i < n; i++){
  total += scores[i];
}

var mean = total/scores.length;
console.log(mean);

這樣寫(xiě)有幾個(gè)好處。

循環(huán)的終止條件簡(jiǎn)單且明確

即使在循環(huán)體內(nèi)修改了數(shù)組,也能有效的終止循環(huán)。否則就可能變成死循環(huán)。

編譯器很難保證重啟計(jì)算scores.length是安全的。

提前確定了循環(huán)終止條件,避免多次計(jì)算數(shù)組長(zhǎng)度。這個(gè)可能會(huì)被一些瀏覽器優(yōu)化。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/82183.html

相關(guān)文章

  • 什么是消息隊(duì)列?

    摘要:系統(tǒng)拿不再經(jīng)過(guò)系統(tǒng),而是從消息隊(duì)列里邊拿。高可用無(wú)論是我們使用消息隊(duì)列來(lái)做解耦異步還是削峰,消息隊(duì)列肯定不能是單機(jī)的。最后本文主要講解了什么是消息隊(duì)列,消息隊(duì)列可以為我們帶來(lái)什么好處,以及一個(gè)消息隊(duì)列可能會(huì)涉及到哪些問(wèn)題。 前言 只有光頭才能變強(qiáng)。文本已收錄至我的GitHub倉(cāng)庫(kù),歡迎Star:https://github.com/ZhongFuCheng3y/3y 公司用到的很多技...

    sourcenode 評(píng)論0 收藏0
  • 前端面試系列--前言篇

    摘要:這個(gè)系列的文章將記錄我準(zhǔn)備春招的整個(gè)過(guò)程,我會(huì)將自己學(xué)習(xí)到的新知識(shí)記錄在這個(gè)系列里文章目錄前言說(shuō)明準(zhǔn)備方向目標(biāo)前言說(shuō)明作為半個(gè)科班出身學(xué)數(shù)學(xué)的應(yīng)屆生,在學(xué)習(xí)計(jì)算機(jī)的時(shí)候還是比較吃力的,從今年月份開(kāi)始接觸前端,到現(xiàn)在也有個(gè)月左右了。 這個(gè)系列的文章將記錄我準(zhǔn)備春招的整個(gè)過(guò)程,我會(huì)將自己學(xué)習(xí)到的新知識(shí)記錄在這個(gè)系列里 文章目錄 前言說(shuō)明 準(zhǔn)備方向 目標(biāo) 前言說(shuō)明 ??作為半個(gè)科班出身...

    sshe 評(píng)論0 收藏0
  • 前端面試系列--前言篇

    摘要:這個(gè)系列的文章將記錄我準(zhǔn)備春招的整個(gè)過(guò)程,我會(huì)將自己學(xué)習(xí)到的新知識(shí)記錄在這個(gè)系列里文章目錄前言說(shuō)明準(zhǔn)備方向目標(biāo)前言說(shuō)明作為半個(gè)科班出身學(xué)數(shù)學(xué)的應(yīng)屆生,在學(xué)習(xí)計(jì)算機(jī)的時(shí)候還是比較吃力的,從今年月份開(kāi)始接觸前端,到現(xiàn)在也有個(gè)月左右了。 這個(gè)系列的文章將記錄我準(zhǔn)備春招的整個(gè)過(guò)程,我會(huì)將自己學(xué)習(xí)到的新知識(shí)記錄在這個(gè)系列里 文章目錄 前言說(shuō)明 準(zhǔn)備方向 目標(biāo) 前言說(shuō)明 ??作為半個(gè)科班出身...

    zsirfs 評(píng)論0 收藏0
  • 前端面試系列--前言篇

    摘要:這個(gè)系列的文章將記錄我準(zhǔn)備春招的整個(gè)過(guò)程,我會(huì)將自己學(xué)習(xí)到的新知識(shí)記錄在這個(gè)系列里文章目錄前言說(shuō)明準(zhǔn)備方向目標(biāo)前言說(shuō)明作為半個(gè)科班出身學(xué)數(shù)學(xué)的應(yīng)屆生,在學(xué)習(xí)計(jì)算機(jī)的時(shí)候還是比較吃力的,從今年月份開(kāi)始接觸前端,到現(xiàn)在也有個(gè)月左右了。 這個(gè)系列的文章將記錄我準(zhǔn)備春招的整個(gè)過(guò)程,我會(huì)將自己學(xué)習(xí)到的新知識(shí)記錄在這個(gè)系列里 文章目錄 前言說(shuō)明 準(zhǔn)備方向 目標(biāo) 前言說(shuō)明 ??作為半個(gè)科班出身...

    Freelander 評(píng)論0 收藏0
  • 碼農(nóng),有趣的靈魂...

    摘要:本文旨在用最通俗的語(yǔ)言講述最枯燥的基本知識(shí)今日,看到有些文章對(duì)碼農(nóng)和程序員做了一些界限劃定和差異分析,嚇得作者趕緊研究一下自己屬于哪個(gè)身份,但當(dāng)仔細(xì)查看了這些文章后,發(fā)現(xiàn)其實(shí)對(duì)于寫(xiě)代碼的人來(lái)說(shuō),無(wú)非就像周星馳嘴里的龍?zhí)缀脱輪T之分,頓時(shí)感悟, 本文旨在用最通俗的語(yǔ)言講述最枯燥的基本知識(shí) 今日,看到有些文章對(duì)碼農(nóng)和程序員做了一些界限劃定和差異分析,嚇得作者趕緊研究一下自己屬于哪個(gè)身份,但當(dāng)...

    szysky 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<