您好,欢迎来到测品娱乐。
搜索
您的当前位置:首页送你43道JS面试题(收藏)

送你43道JS面试题(收藏)

来源:测品娱乐

当你为数组中的元素设置一个超过数组长度的值时,JavaScript会创建一个名为“空插槽”的东西。 这些位置的值实际上是undefined,但你会看到类似的东西:

[1, 2, 3, 7 x empty, 11]

这取决于你运行它的位置(每个浏览器有可能不同)。

38. 下面代码的输出是什么?

(() => {
 let x, y;
 try {
 throw new Error();
 } catch (x) {
 (x = 1), (y = 2);
 console.log(x);
 }
 console.log(x);
 console.log(y);
})();

A: 1 undefined 2

B: undefined undefined undefined

C: 1 1 2

D: 1 undefined undefined

答案: A

catch块接收参数x。当我们传递参数时,这与变量的x不同。这个变量x是属于catch作用域的。

之后,我们将这个块级作用域的变量设置为1,并设置变量y的值。 现在,我们打印块级作用域的变量x,它等于1。

在catch块之外,x仍然是undefined,而y是2。 当我们想在catch块之外的console.log(x)时,它返回undefined,而y返回2。

39. JavaScript中的所有内容都是…

A:原始或对象

B:函数或对象

C:技巧问题!只有对象

D:数字或对象

答案: A

JavaScript只有原始类型和对象。

原始类型是boolean,null,undefined,bigint,number,string和symbol。

40. 下面代码的输出是什么?

[[0, 1], [2, 3]].reduce(
 (acc, cur) => {
 return acc.concat(cur);
 },
 [1, 2]
);

A: [0, 1, 2, 3, 1, 2]

B: [6, 1, 2]

C: [1, 2, 0, 1, 2, 3]

D: [1, 2, 6]

答案: C

[1,2]是我们的初始值。 这是我们开始执行reduce函数的初始值,以及第一个acc的值。 在第一轮中,acc是[1,2],cur是[0,1]。 我们将它们连接起来,结果是[1,2,0,1]。

然后,acc的值为[1,2,0,1],cur的值为[2,3]。 我们将它们连接起来,得到[1,2,0,1,2,3]。

41. 下面代码的输出是什么?

!!null;
!!"";
!!1;

A: false true false

B: false false true

C: false true true

D: true true false

答案: B

null是假值。 !null返回true。 !true返回false。

""是假值。 !""返回true。 !true返回false。

1是真值。 !1返回false。 !false返回true。

42. `setInterval`方法的返回值什么?

setInterval(() => console.log("Hi"), 1000);

A:一个唯一的id

B:指定的毫秒数

C:传递的函数

D:undefined

答案: A

它返回一个唯一的id。 此id可用于使用clearInterval()函数清除该定时器。

43. What does this return?

[..."Lydia"];

A: ["L", "y", "d", "i", "a"]

B: ["Lydia"]

C: [[], "Lydia"]

D: [["L", "y", "d", "i", "a"]]

答案: A

字符串是可迭代的。 扩展运算符将迭代的每个字符映射到一个元素。

Copyright © 2019- cepb.cn 版权所有 湘ICP备2022005869号-7

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务