摘要:在學(xué)習(xí)的高階函數(shù)時(shí),遇到一個(gè)關(guān)于函數(shù)的問(wèn)題,在實(shí)際操作中,以下代碼輸出了意想不到的結(jié)果結(jié)果是。經(jīng)過(guò)查閱的文檔,深入了解了函數(shù)的作用機(jī)制,由于接收的回調(diào)函數(shù)可以有個(gè)參數(shù),通常我們僅需要第一個(gè)參數(shù),而忽略了傳入的后面兩個(gè)參數(shù)。
在學(xué)習(xí)JavaScript的高階函數(shù)時(shí),遇到一個(gè)關(guān)于map()函數(shù)的問(wèn)題,在實(shí)際操作中,以下代碼輸出了意想不到的結(jié)果:
"use strict"; var arr = ["1", "2", "3"]; var r; r = arr.map(parseInt); alert("[" + r[0] + ", " + r[1] + ", " + r[2] + "]");
結(jié)果是[1, NaN, NaN]。
經(jīng)過(guò)查閱Array.prototype.map()的文檔,深入了解了map()函數(shù)的作用機(jī)制,由于map()接收的回調(diào)函數(shù)可以有3個(gè)參數(shù):callback(currentValue, index, array),通常我們僅需要第一個(gè)參數(shù),而忽略了傳入的后面兩個(gè)參數(shù)。不幸的是,parseInt(string, radix)沒有忽略第二個(gè)參數(shù),導(dǎo)致實(shí)際執(zhí)行的函數(shù)分別是:
parseInt("0", 0); // 0, 按十進(jìn)制轉(zhuǎn)換
parseInt("1", 1); // NaN, 沒有一進(jìn)制
parseInt("2", 2); // NaN, 按二進(jìn)制轉(zhuǎn)換不允許出現(xiàn)2
可以改為r = arr.map(Number);,因?yàn)镹umber(value)函數(shù)僅接收一個(gè)參數(shù);
或者使用如下代碼解決parseInt()的轉(zhuǎn)換問(wèn)題:
var arr = ["1","2","3"]; var r = arr.map(function(val){ return parseInt(val); }); console.log(r);
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/88012.html
摘要:作為一名前端開發(fā)者,也了解中的很多特性借鑒自比如默認(rèn)參數(shù)解構(gòu)賦值等,同時(shí)本文會(huì)對(duì)的一些用法與進(jìn)行類比。函數(shù)接收一個(gè)函數(shù)和一個(gè),這個(gè)函數(shù)的作用是對(duì)每個(gè)元素進(jìn)行判斷,返回或,根據(jù)判斷結(jié)果自動(dòng)過(guò)濾掉不符合條件的元素,返回由符合條件元素組成的新。 showImg(https://segmentfault.com/img/remote/1460000011857550); 本文首發(fā)在 個(gè)人博客 ...
摘要:原文引言這篇文檔包含了如何避免使代碼性能遠(yuǎn)低于預(yù)期的建議尤其是一些會(huì)導(dǎo)致牽涉到等無(wú)法優(yōu)化相關(guān)函數(shù)的問(wèn)題一些背景在中并沒有解釋器但卻有兩個(gè)不同的編譯器通用編譯器和優(yōu)化編譯器這意味著你的代碼總是會(huì)被編譯為機(jī)器碼后直接運(yùn)行這樣一定很快咯并不是 原文:http://dev.zm1v1.com/2015/08/19/javascript-optimization-killers/引言 這篇文檔包...
摘要:數(shù)組的特別之處在于,當(dāng)使用小于的非負(fù)整數(shù)作為屬性名時(shí)數(shù)組會(huì)自動(dòng)維護(hù)其屬性值。返回的數(shù)組包含第一個(gè)參數(shù)指定的位置和所有到但不含第二個(gè)參數(shù)指定的位置之間的所有數(shù)組元素。數(shù)組中只需有一項(xiàng)滿足給定條件則返回。 概念 JavaScript數(shù)組是JavaScript對(duì)象的特殊形式。數(shù)組索引實(shí)際上和碰巧是整數(shù)的屬性名差不多,使用方括號(hào)訪問(wèn)數(shù)組元素就像用方括號(hào)訪問(wèn)對(duì)象的屬性一樣。JavaScript將...
摘要:位無(wú)符號(hào)整數(shù),長(zhǎng)度個(gè)字節(jié),溢出處理為最大值。所以你拿到的英文字母編碼前后一樣的,但是漢字等字符就不同了。為了直接得到漢字的碼,使用其實(shí)還可以選擇使用處理漢字,但是英文又不能正常轉(zhuǎn)換了。 原文鏈接:https://ssshooter.com/2019-04... 之前做文件上傳和 canvas 修圖時(shí)接觸到幾個(gè)格式,這里打算整理一下他們的關(guān)系 Blob 使用 input 獲取文件時(shí),你...
閱讀 1013·2023-04-25 14:41
閱讀 2464·2021-09-28 09:35
閱讀 3633·2019-08-30 15:53
閱讀 1950·2019-08-29 15:26
閱讀 1075·2019-08-28 17:59
閱讀 4340·2019-08-26 13:45
閱讀 2852·2019-08-26 13:33
閱讀 1654·2019-08-26 11:46