7 个简单但棘手的 JavaScript 面试问题
Posted SegmentFault
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了7 个简单但棘手的 JavaScript 面试问题相关的知识,希望对你有一定的参考价值。
本文转载于 SegmentFault 社区
社区专栏:做工程师不做码农
一
意外全局变量
Question
function foo() {
let a = b = 0;
a++;
return a;
}
foo();
typeof a; // => ???
typeof b; // => ???
Answer
function foo() {
let a;
window.b = 0;
a = window.b;
a++;
return a;
}
foo();
typeof a; // => 'undefined'
typeof window.b; // => 'number'
二
数组的 length 属性
Question
Question
const clothes = ['jacket', 't-shirt'];
clothes.length = 0;
clothes[0]; // => ???
Answer
三
鹰眼测试
Question
const length = 4;
const numbers = [];
for (var i = 0; i < length; i++);{
numbers.push(i + 1);
}
numbers; // => ???
Answer
const length = 4;
const numbers = [];
var i;
for (i = 0; i < length; i++) {
// does nothing
}
{
// a simple block
numbers.push(i + 1);
}
numbers; // => [5]
四
自动分号插入
Question
function arrayFromValue(item) {
return
[item];
}
arrayFromValue(10); // => ???
Answer
function arrayFromValue(item) {
return;
[item];
}
arrayFromValue(10); // => undefined
五
经典问题:棘手的闭包
Question
let i;
for (i = 0; i < 3; i++) {
const log = () => {
console.log(i);
}
setTimeout(log, 100);
}
Answer
Phase 1
Phase 2
六
浮点数计算
Question
0.1 + 0.2 === 0.3 // => ???
Answer
0.1 + 0.2; // => 0.30000000000000004
点击 0.30000000000000004.com 了解更多信息。 https://0.30000000000000004.com/
七
变量提升
Question
myVar; // => ???
myConst; // => ???
var myVar = 'value';
const myConst = 3.14;
Answer
八
最后
原文链接: https://dmitripavlutin.com/simple-but-tricky-javascript-interview-questions/ 作者:Dmitri Pavlutin 翻译:做工程师不做码农
以上是关于7 个简单但棘手的 JavaScript 面试问题的主要内容,如果未能解决你的问题,请参考以下文章