当前位置 博文首页 > 前端开发博客:一周热文和最新 JS 进阶六题附答案 #4
点击下方“前端开发博客”关注公众号
回复“面试”获取面试精选文章
忙碌的一周过去了,一起来汇总一下前端开发博客最近一周有哪些值得阅读的东西吧。
上周总结
一文帮你搞定90%的JS手写题
几个优雅的JavaScript运算符使用技巧
9种JavaScript数组去重的高阶方法
NodeJS有难度的面试题,你能答对几个?
Web登录其实没那么简单
小程序用户登录架构设计
H5常见问题及解决方案手册
31. 当点击按钮时,event.target是什么?
<div?onclick="console.log('first?div')">
??<div?onclick="console.log('second?div')">
????<button?onclick="console.log('button')">
??????Click!
????</button>
??</div>
</div>
A: Outer div
B: Inner div
C: button
D: 一个包含所有嵌套元素的数组。
导致事件的最深嵌套的元素是事件的 target。你可以通过 event.stopPropagation
来停止冒泡。
<div?onclick="console.log('div')">
??<p?onclick="console.log('p')">
????Click?here!
??</p>
</div>
A: p
div
B: div
p
C: p
D: div
如果我们点击 p
,我们会看到两个日志:p
和 div
。在事件传播期间,有三个阶段:捕获、目标和冒泡。默认情况下,事件处理程序在冒泡阶段执行(除非将 useCapture
设置为 true
)。它从嵌套最深的元素向外传播。
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
使用这两种方法,我们都可以传递我们希望 this
关键字引用的对象。但是,.call
是立即执行的。
.bind
返回函数的副本,但带有绑定上下文!它不是立即执行的。
function?sayHi()?{
??return?(()?=>?0)()
}
typeof?sayHi()
A: "object"
B: "number"
C: "function"
D: "undefined"
sayHi
方法返回的是立即执行函数(IIFE)的返回值.此立即执行函数的返回值是 0
, 类型是 number
参考:只有7种内置类型:null
,undefined
,boolean
,number
,string
,object
, symbol
和 bigint
。function
不是一种类型,函数是对象,它的类型是object
。
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
D: All of them are falsy
只有 6 种 falsy 值:
undefined
null
NaN
0
''
(empty string)
false
Function
构造函数, 比如 new Number
和 new Boolean
,是 truthy。
console.log(typeof?typeof?1)
A: "number"
B: "string"
C: "object"
D: "undefined"
typeof 1
返回 "number"
。typeof "number"
返回 "string"
。
好了,以上就是本周的汇总,以后我们每周会汇总一次,相信你会从中找到你喜欢的内容,最后,记得点个在看,转发文章,关注一下我哦。
有用的话,点个“在看”,支持我们↓↓↓
cs