面试技巧

关注公众号 jb51net

关闭
IT专业知识 > IT职场规划 > 面试技巧 >

这几道JS面试刁钻题,你能答对吗

前端_杭州求职中

第一题:下面代码输出的结果是什么?

[1,2,3].map(parseInt)

通过分析可知,上述代码就相当于:

parseInt('1',0) // 相当于 parseInt('1') 所以答案就是 1
parseInt('2',1) // 把2当做1进制来理解
parseInt('3',2) // 把3当做2进制来理解

所以最终的答案就是:1 NaN NaN

第二题:a.x 的值是什么?

var a = {name:'a'}
a.x = a ={}

直接说答案吧,因为这道题我也不会,会的小伙伴在评论区赐教呀。😝

答案:undefined

第三题:(a==1 && a==2 && a==3)可能为true吗?

//利用 == 会调用 valueOf() 的特性
var a = {
value: 1,
valueOf(){
return this.value++
}
}
a ==1 && a== 2 && a==3 // true
//利用 a 会读取 window.a 的特性
var value = 1; 
Object.defineProperty(window, 'a', {
get(){
return value++;
}
})
a ==1 && a== 2 && a==3 // true
// 或者 
a ===1 && a=== 2 && a===3 // true

告诫自己,即使再累也不要忘记学习,成功没有捷径可走,只有一步接着一步走下去。 共勉!

到此这篇关于这几道JS面试刁钻题,你能答对吗的文章就介绍到这了,更多相关JS面试题内容请搜索脚本之家以前的文章或继续浏览下面的相关文章,希望大家以后多多支持脚本之家!