lovyliu

Results 4 comments of lovyliu

> > > 说实话,我还是没懂,为啥 ['10','10','10','10','10'].map(parseInt); => // [10, NaN, 2, 3, 4] > > > 为啥parseInt("10",3) =>//3 ??? > > > > > > 二进制,这里 `3^1 +3^0 = 3` >...

> 看了这个题目后专门去研究了parseInt,parseInt的参数 > parseInt(String,radix)里的radix根本就没有这么简单,radix根本就不是单纯的进制,详情看我简书的文章 > [parseInt详解-你以为radix指的进制吗?](https://www.jianshu.com/p/94928f2647b7) > ![parseInt](https://user-images.githubusercontent.com/52484519/77222692-7a53db00-6b90-11ea-8d1d-3ee310b153c0.png) parseInt('45', 5) //4 这个应该算是parseInt的内部处理,跟radix是不是进制数没有关系。 MDN文档上是这样写的: `如果 parseInt 遇到的字符不是指定 radix 参数中的数字,它将忽略该字符以及所有后续字符,并返回到该点为止已解析的整数值。 parseInt 将数字截断为整数值。 允许前导和尾随空格。`

> 这题的考察点有三个: > > 1. Array.map方法callback函数的参数问题 > 2. JS函数的实参、形参。 > 3. parseInt方法的使用,其第二个参数的意思及规则 > > Array.map方法的callback函数接收三个参数,(value, index, array)。 > > 而parseInt方法接收两个参数。这里就涉及到函数参数个数问题了,在JS中,不看形参的,看实参,就是你传多少个参数给我无所谓,我函数内部只用我需要的,其内部使用arguments进行引用,具体机制可以查阅相关资料文章。 > 比如这里的parseInt方法,虽然map的callback给它传了三个参数,但是它只会用到前两个参数,也就是map函数callback的value和index。 > > 所以题目就转化成了如下形式: > > ``` > ['1',...

> 又看了一遍,发现题目描述是错误的,而且各个平台这个题目都是这样照搬过来的,“红灯三秒亮一次,绿灯一秒亮一次,黄灯2秒亮一次” 应该改为 “红灯亮一次亮三秒,绿灯亮一次亮一秒,黄灯亮一次亮2秒” > > 打印一下调用函数时候的秒数: > > ```js > function red () { > console.log('red: ', new Date().getSeconds()) > console.log('red') > } > function green () { >...