43道JS面试题

1. 下面代码输出是什么?

function sayHi() {
  console.log(name);
  console.log(age);
  var name = "Lydia";
  let age = 21;
}

sayHi();
  • A: Lydiaundefined

  • B: LydiaReferenceError

  • C: ReferenceError21

  • D: undefinedReferenceError答案 ```````````` ``````````

关于 letvarfunction:

  • let的’创建’过程被提升了,但是初始化没有提升。

  • var的’创建’和’初始化’都被提升了

  • function的’创建’、’初始化’和’赋值’都被提升了。

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

for (var i = 0; i < 3; i++) {
  setTimeout(() => console.log(i), 1);
}

for (let i = 0; i < 3; i++) {
  setTimeout(() => console.log(i), 1);
}
  • A: 0 1 2 and 0 1 2

  • B: 0 1 2 and 3 3 3

  • C: 3 3 3 and 0 1 2

答案

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

  • A: 20 and 62.83185307179586

  • B: 20 and NaN

  • C: 20 and 63

  • D: NaN and 63

答案

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

  • A: 1 and false

  • B: false and NaN

  • C: false and false

答案

5. 哪个选项是不正确的?

  • A: mouse.bird.size

  • B: mouse[bird.size]

  • C: mouse[bird["size"]]

  • D: All of them are valid

答案

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

  • A: Hello

  • B: undefined

  • C: ReferenceError

  • D: TypeError

答案

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

答案

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

  • A: orange

  • B: purple

  • C: green

  • D: TypeError

答案

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

  • A: {}

  • B: ReferenceError: greetign is not defined

  • C: undefined

答案

10. 当我们这样做时会发生什么?

  • A: Nothing, this is totally fine!

  • B: SyntaxError. You cannot add properties to a function this way.

  • C: undefined

  • D: ReferenceError

答案

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

  • A: TypeError

  • B: SyntaxError

  • C: Lydia Hallie

  • D: undefined undefined

答案

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

  • A: Person {firstName: "Lydia", lastName: "Hallie"} and undefined

  • B: Person {firstName: "Lydia", lastName: "Hallie"} and Person {firstName: "Sarah", lastName: "Smith"}

  • C: Person {firstName: "Lydia", lastName: "Hallie"} and {}

  • D: Person {firstName: "Lydia", lastName: "Hallie"} and ReferenceError

答案

13. 所有对象都有原型.

  • A: 对

  • B: 错误

答案

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

  • A: NaN

  • B: TypeError

  • C: "12"

  • D: 3

答案

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

  • A: 1 1 2

  • B: 1 2 2

  • C: 0 2 2

  • D: 0 1 2

答案

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

  • A: Lydia 21 ["", "is", "years old"]

  • B: ["", "is", "years old"] Lydia 21

  • C: Lydia ["", "is", "years old"] 21

答案

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

  • A: You are an adult!

  • B: You are still an adult.

  • C: Hmm.. You don't have an age I guess

答案

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

  • A: "number"

  • B: "array"

  • C: "object"

  • D: "NaN"

答案

19. 事件传播的三个阶段是什么??

  • A: 目标 > 捕获 > 冒泡

  • B: 冒泡 > 目标 > 捕获

  • C: 目标 > 冒泡 > 捕获

  • D: 捕获 > 目标 > 冒泡

答案

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

  • A: 21

  • B: undefined

  • C: ReferenceError

  • D: TypeError

答案

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

  • A: 105

  • B: "105"

  • C: TypeError

  • D: "10\*10+5"

答案

22. cool_secret 可以访问多长时间?

A:永远,数据不会丢失。 B:用户关闭选项卡时。 C:当用户关闭整个浏览器时,不仅是选项卡。 D:用户关闭计算机时。

答案

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

  • A: 8

  • B: 10

  • C: SyntaxError

  • D: ReferenceError

答案

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

  • A: false true false true

  • B: false true true true

  • C: true true false true

  • D: true true true true

答案

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

  • A:{ a: "one", b: "two" }

  • B: { b: "two", a: "three" }

  • C: { a: "three", b: "two" }

  • D: SyntaxError

答案

26. JavaScript 全局执行上下文为你创建了两个东西:全局对象和 this 关键字.

  • A: 对

  • B: 错误

  • C: 视情况而定

答案

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

  • A: 1 2

  • B: 1 2 3

  • C: 1 2 4

  • D: 1 3 4

答案

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

  • A: "Just give Lydia pizza already!"

  • B: TypeError: not a function

  • C: SyntaxError

  • D: undefined

答案

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

  • A: 123

  • B: 456

  • C: undefined

  • D: ReferenceError

答案

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

  • A: First Second Third

  • B: First Third Second

  • C: Second First Third

  • D: Second Third First

答案

31. 单击按钮时 event.target 是什么?

  • A: div 外部

  • B: div 内部

  • C: button

  • D: 所有嵌套元素的数组.

答案

32. 单击下面的 html 片段打印的内容是什么?

  • A: p div

  • B: div p

  • C: p

  • D: div

答案

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

  • A: undefined is 21 Lydia is 21

  • B: function function

  • C: Lydia is 21 Lydia is 21

  • D: Lydia is 21 function

答案

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

  • A: "object"

  • B: "number"

  • C: "function"

  • D: "undefined"

答案

35. 下面这些值哪些是假值?

  • A: 0, '', undefined

  • B: 0, new Number(0), '', new Boolean(false), undefined

  • C: 0, '', new Boolean(false), undefined

  • D: 所有都是假值

答案

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

  • A: "number"

  • B: "string"

  • C: "object"

  • D: "undefined"

答案

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

  • A: [1, 2, 3, 7 x null, 11]

  • B: [1, 2, 3, 11]

  • C: [1, 2, 3, 7 x empty, 11]

  • D: SyntaxError

答案

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

  • A: 1 undefined 2

  • B: undefined undefined undefined

  • C: 1 1 2

  • D: 1 undefined undefined

答案

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

  • A:原始或对象

  • B:函数或对象

  • C:技巧问题!只有对象

  • D:数字或对象

答案

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

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

  • B: [6, 1, 2]

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

  • D: [1, 2, 6]

答案

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

  • A: false true false

  • B: false false true

  • C: false true true

  • D: true true false

答案

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

  • A:一个唯一的 id

  • B:指定的毫秒数

  • C:传递的函数

  • D:undefined

答案

43. 下面代码的返回值是什么?

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

  • B: ["Lydia"]

  • C: [[], "Lydia"]

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

答案

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

最后更新于