今年一过完年,我早早地就来到深圳 找工作,看到一些很有意思(其实是自己答错的( ° △ °|||))的面试题!
做个小小分享,提醒后来的人不要踩坑
首先是 YY 的面试,公司在广州,有几题印象比较深
第一题
x = 1 ; x.num = 1; str = 'a'; str.s = 'b';
console.log(x + x.num);
console.log(str + str.s);
会打印什么结果,这题算是比较 细节 的问题,主要考查
1. 非对象可否,正常 使用 . 来增加属性, 答案是不会报错,但添加属性也不会成功, 试图访问没有添加成功的属性会得到 undefined
2. 考察 undefined 与 数字,字符串,相加 的结果
这个就 变成了 1 + undefined
和 'a' + undefined
分别得到 NaN 和 'aundefined'
第二题
这是一道选择题,选出正确的说法
['1', '2', '3'].map(parseInt)
会返回 [1,2,3]
JSON.stringify("ss")
会报错
Number.MAX_VALUE == Number.MAX_VALUE + 1
"bacabc".replace('b', 'B')
会得到 BacaBc
看到 这个题 我首先排除了 D , B 两个选项,
B就不说了,至于 D 要完成替换 全部的 b 需要使用 正则 /b/i
至于 C 对 Number 的 MAX_VALUE 没有 研究过,感觉有点不合常理,最终选择了A
后来细想 A 也不对 ,parseInt(string, radix)
是有两个参数的, 而数组 map 方法除了会传数组的每一项外,还会传递 index 数组索引值 0, 1, 2 这样 , 这题最终选 C , 这里贴一下 parseInt 函数的说明
未完待续...