前端不规则的面试题

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/Miss_liangrm/article/details/102629733

(1)写出以下的打印结果:

var str = '123hello';
console.log(typeof(str++));    // number
console.log(str);      // NaN

(2)写出以下打印结果:

['1','3','10'].map(parseInt);     // 打印结果:[1, NaN, 2]

上面的结果我很意外也很奇怪为什么是这个结果呢?下面我们先来看下   map函数  和  parstInt 函数 。

(2-1)map() 函数:

  • 一般我们会在map里面传入一个function ,里面可以传入一个参数。
['1','3','10'].map((item)=>{
    console.log(item);   // 打印结果:1,3,10
});
  • 也可以传入两个参数:
['1','3','10'].map((item,idx)=>{
    console.log(item+'----'+idx);   
});


// 打印结果:
1------0
3-------1
10 ------2

(2-2)parseInt() 函数

parseInt() 函数可解析一个字符串,并返回一个整数。

radix 参数在 2 - 36 之间的会返回NaN.

所以:栗子:

['1','3','10'].map(parseInt);     // 打印结果:[1, NaN, 2]

["1", "2", "3"].map(parseInt)    // 打印结果 :[ 1, NaN, NaN ]

parseInt 文档

---------完。

猜你喜欢

转载自blog.csdn.net/Miss_liangrm/article/details/102629733