这几道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面试题内容请搜索脚本之家以前的文章或继续浏览下面的相关文章,希望大家以后多多支持脚本之家!
