admin 管理员组

文章数量: 1087139


2024年3月22日发(作者:weblogic服务维保竞争性谈判文件)

js变量提升和循环经典面试题

JavaScript变量提升和循环经典面试题

在JavaScript中,变量提升和循环是经常在面试中被问到的问题。

本文将深入探讨这两个概念,并给出一些经典的面试题目。

1. 变量提升

在JavaScript中,变量提升是指在执行代码之前,变量的声明会被

提升到作用域的顶部。这意味着我们可以在变量声明之前,使用该变

量。

```javascript

(name); // undefined

var name = "John";

(name); // John

```

在这个例子中,变量name的声明会被提升到作用域的顶部。因此,

第一个语句输出undefined,而第二个语句输出

"John"。

2. 循环问题

在JavaScript中,循环是重要的语法结构之一。下面是一些关于循

环的经典面试题。

2.1 for循环中使用let关键字的效果

```javascript

for (let i = 0; i < 5; i++) {

setTimeout(function() {

(i); // 0, 1, 2, 3, 4

}, 1000);

}

```

在这个例子中,我们使用let关键字来声明循环变量i。由于let具

有块级作用域,每次迭代时都会创建一个新的i。因此,setTimeout函

数中的每个回调都会捕获到不同的i值,从0到4。

2.2 循环中使用var关键字的问题

```javascript

for (var i = 0; i < 5; i++) {

setTimeout(function() {

(i); // 5, 5, 5, 5, 5

}, 1000);

}

```


本文标签: 变量 循环 提升 经典