最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JS面試題解['1',?'7',?'11'].map(parseInt)?輸出

 更新時(shí)間:2022年08月31日 09:23:52   作者:zuopf769  
這篇文章主要為大家介紹了JS面試題解['1',?'7',?'11'].map(parseInt)?會(huì)輸出什么內(nèi)容詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

輸出結(jié)果

['1', '7', '11'].map(parseInt)  //  結(jié)果輸出 -> [1, NaN, 3]

為什么輸出會(huì)有 NaN ? 為什么把 11 轉(zhuǎn)成整數(shù)會(huì)是 3

想把數(shù)組里的字符串?dāng)?shù)字轉(zhuǎn)換成整數(shù),于是使用 map函數(shù)來(lái)對(duì)數(shù)組的每一項(xiàng)作用,作用的函數(shù)是 parseInt函數(shù),所以預(yù)期的結(jié)果應(yīng)該是[1,7,11] ,然而最終瀏覽器的 JavaScript 引擎給出的答案是 [1, NaN, 3] 。

從結(jié)果可以看到 1 是正常進(jìn)行轉(zhuǎn)化的,后面兩個(gè)數(shù)則不是我們預(yù)期的結(jié)果。

map函數(shù)有問(wèn)題?

現(xiàn)在我們把 parseInt 換掉,功能改為給每一個(gè)數(shù)乘 2

['1', '7', '11'].map(function(x){
	return x * 2;     // 結(jié)果 -> [2, 14, 22]
});

發(fā)現(xiàn)結(jié)果是正常的,x代表從數(shù)組里拿到的每一個(gè)值,在依次去乘以2 ,沒(méi)問(wèn)題。

可是問(wèn)題來(lái)了,除了x,會(huì)不會(huì)有其它參數(shù),存不存在其它可以使用的參數(shù)。于是我們?cè)囼?yàn)下:

['1', '7', '11'].map(function(x, i, j, k){
	console.log(x +' ' + i + ' ' + j + ' ' + k);
});

Chrome 的控制臺(tái)執(zhí)行后發(fā)現(xiàn)結(jié)果出乎意料

也就是說(shuō),map 接受的這個(gè)函數(shù),它存在三個(gè)參數(shù),第一個(gè)是數(shù)組當(dāng)前的值,第二個(gè)是當(dāng)前值的索引,第三個(gè)數(shù)是當(dāng)前傳入的數(shù)組

會(huì)不會(huì)是傳入的 parseInt 出現(xiàn)問(wèn)題 ?

當(dāng)我們傳入 parseInt 時(shí),map 函數(shù)會(huì)把三個(gè)參數(shù)(數(shù)組當(dāng)前元素,當(dāng)前元素的索引,當(dāng)前傳入的數(shù)組)一并打包給 parseInt 。

那么現(xiàn)在問(wèn)題就集中在 parseInt 函數(shù)上面。

MDN 文檔查詢后可以知道,parseInt(string, radix) 函數(shù)接受兩個(gè)參數(shù),第一個(gè)是需要轉(zhuǎn)換的字符串,第二個(gè)是進(jìn)制。

于是結(jié)果呼之欲出,我把這個(gè)過(guò)程畫(huà)成了圖,方便看圖理解,

首先,parseInt 接受兩個(gè)參數(shù),因此第三個(gè)參數(shù)會(huì)被忽略。

第一次執(zhí)行, parseInt('1', 0) 會(huì)輸出 1 ,因?yàn)?0 會(huì)轉(zhuǎn)換成 false,而 false 會(huì)使它執(zhí)行默認(rèn)的進(jìn)制 10 ,就是 parseInt 默認(rèn)都是轉(zhuǎn)換十進(jìn)制;

第二次執(zhí)行,parseInt('7', 1) 因?yàn)闆](méi)有所謂的 1 進(jìn)制,所以無(wú)法轉(zhuǎn)換,輸出 NaN;

第三次執(zhí)行parseInt('11', 2) 答案為 3 ,因?yàn)橐?2 為進(jìn)制轉(zhuǎn)換,3 的二進(jìn)制是 11 , 非常的巧妙。

所以最終的輸出的結(jié)果就是 [1, NaN, 3]

以上就是JS面試題解['1', '7', '11'].map(parseInt) 輸出的詳細(xì)內(nèi)容,更多關(guān)于JS面試題 的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • ECMAScript 6數(shù)值擴(kuò)展實(shí)例詳解

    ECMAScript 6數(shù)值擴(kuò)展實(shí)例詳解

    這篇文章主要為大家介紹了ECMAScript6數(shù)值擴(kuò)展實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • TypeScript5.2引入新關(guān)鍵字using介紹

    TypeScript5.2引入新關(guān)鍵字using介紹

    這篇文章主要介紹了TypeScript5.2引入新關(guān)鍵字using使用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06
  • js簡(jiǎn)單封裝監(jiān)聽(tīng)快捷鍵對(duì)象示例及使用

    js簡(jiǎn)單封裝監(jiān)聽(tīng)快捷鍵對(duì)象示例及使用

    這篇文章主要為大家介紹了js簡(jiǎn)單封裝監(jiān)聽(tīng)快捷鍵對(duì)象及使用示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-08-08
  • Canvas如何判斷點(diǎn)在形狀內(nèi)及內(nèi)置API性能詳解

    Canvas如何判斷點(diǎn)在形狀內(nèi)及內(nèi)置API性能詳解

    這篇文章主要為大家介紹了Canvas如何判斷點(diǎn)在形狀內(nèi)及內(nèi)置API性能詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-03-03
  • 微信小程序 配置文件詳細(xì)介紹

    微信小程序 配置文件詳細(xì)介紹

    這篇文章主要介紹了微信小程序 配置文件及配置文件的主要功能和注意事項(xiàng)的相關(guān)資料,需要的朋友可以參考下
    2016-12-12
  • JavaScript基礎(chǔ)之函數(shù)詳解

    JavaScript基礎(chǔ)之函數(shù)詳解

    這篇文章主要為大家介紹了JavaScript基礎(chǔ)之函數(shù),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助<BR>
    2021-12-12
  • Evil.js項(xiàng)目源碼解讀

    Evil.js項(xiàng)目源碼解讀

    這篇文章主要為大家介紹了最近火爆全網(wǎng)的?Evil.js?源碼解讀,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • JavaScript前端迭代器Iterator與生成器Generator講解

    JavaScript前端迭代器Iterator與生成器Generator講解

    這篇文章主要為大家介紹了JavaScript前端迭代器Iterator與生成器Generator講解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • Javascript閉包使用場(chǎng)景原理詳細(xì)

    Javascript閉包使用場(chǎng)景原理詳細(xì)

    這篇文章主要介紹了Javascript閉包的使用場(chǎng)景,  由于在Javascript語(yǔ)言中,只有函數(shù)內(nèi)部的子函數(shù)才能讀取局部變量,閉包就是能夠讀取其他函數(shù)內(nèi)部變量的函數(shù)。所以,在本質(zhì)上,閉包就是將函數(shù)內(nèi)部和函數(shù)外部連接起來(lái)的一座橋梁,下面一起進(jìn)入文化在哪個(gè)了解文章內(nèi)容
    2021-11-11
  • Three.js實(shí)現(xiàn)雪糕地球的使用示例詳解

    Three.js實(shí)現(xiàn)雪糕地球的使用示例詳解

    這篇文章主要為大家介紹了Three.js實(shí)現(xiàn)雪糕地球的使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-07-07

最新評(píng)論

石家庄市| 呼伦贝尔市| 黎川县| 桦川县| 博客| 忻城县| 杨浦区| 凤凰县| 长武县| 九寨沟县| 大石桥市| 荆州市| 新晃| 和林格尔县| 凌云县| 哈尔滨市| 池州市| 左云县| 罗源县| 姜堰市| 伊金霍洛旗| 沈阳市| 方城县| 仪征市| 新竹市| 彩票| 平陆县| 甘肃省| 阜城县| 察隅县| 华阴市| 辰溪县| 齐河县| 韶关市| 方山县| 九龙县| 二连浩特市| 得荣县| 敦化市| 克东县| 平邑县|