最后
为了帮助大家更好的了解前端,特别整理了《前端工程师面试手册》电子稿文件。
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
-
A: Outer
div
-
B: Inner
div
-
C:
button
-
D: 一个包含所有嵌套元素的数组。
答案: C
导致事件的最深嵌套的元素是事件的 target。你可以通过 event.stopPropagation
来停止冒泡。
32. 当您单击该段落时,日志输出是什么?
Click here!
-
A:
p
div
-
B:
div
p
-
C:
p
-
D:
div
答案: A
如果我们点击 p
,我们会看到两个日志:p
和 div
。在事件传播期间,有三个阶段:捕获、目标和冒泡。默认情况下,事件处理程序在冒泡阶段执行(除非将 useCapture
设置为 true
)。它从嵌套最深的元素向外传播。
33. 输出是什么?
const person = { name: ‘Lydia’ }
function sayHi(age) {
console.log(${this.name} is ${age}
)
}
sayHi.call(person, 21)
sayHi.bind(person, 21)
-
A:
undefined is 21
Lydia is 21
-
B:
function
function
-
C:
Lydia is 21
Lydia is 21
-
D:
Lydia is 21
function
答案: D
使用这两种方法,我们都可以传递我们希望 this
关键字引用的对象。但是,.call
是立即执行的。
.bind
返回函数的副本,但带有绑定上下文!它不是立即执行的。
34. 输出是什么?
function sayHi() {
return (() => 0)()
}
typeof sayHi()
-
A:
"object"
-
B:
"number"
-
C:
"function"
-
D:
"undefined"
答案: B
sayHi
方法返回的是立即执行函数(IIFE)的返回值.此立即执行函数的返回值是 0
, 类型是 number
参考:只有7种内置类型:null
,undefined
,boolean
,number
,string
,object
, symbol
和 bigint
。function
不是一种类型,函数是对象,它的类型是object
。
35. 下面哪些值是 falsy?
0
new Number(0)
(‘’)
(’ ')
new Boolean(false)
undefined
-
A:
0
,''
,undefined
-
B:
0
,new Number(0)
,''
,new Boolean(false)
,undefined
-
C:
0
,''
,new Boolean(false)
,undefined
最后
为了帮助大家更好的了解前端,特别整理了《前端工程师面试手册》电子稿文件。