在radix为 undefined,或者radix为 0 或者没有指定的情况下,JavaScript 作如下处理:
如果字符串 string 以"0x"或者"0X"开头, 则基数是16 (16进制).如果字符串 string 以"0"开头, 基数是8(八进制)或者10(十进制),那么具体是哪个基数由实现环境决定。ECMAScript 5 规定使用10,但是并不是所有的浏览器都遵循这个规定。因此,永远都要明确给出radix参数的值。如果字符串 string 以其它任何值开头,则基数是10 (十进制)。 原题:['10','10','10','10','10'].map(parseInt); 第一次分解: ['10','10','10','10','10'].map((item, index) => { return parseInt(item, index) }) 第二次分解 parseInt('10', 0) // 10 parseInt('10', 1) // NaN parseInt('10', 2) // 2 parseInt('10', 3) // 3 parseInt('10', 4) //4 结果 ['10','10','10','10','10'].map(parseInt);// 10 NaN 2 3 4
