手记

【备战春招】第四天 前端学习笔记

课程信息

课程名称:一天时间高效准备前端技术一面 匹配大厂面试要求
章节名称:第6章 作用域和闭包
讲师:双越

课程描述

介绍作用域,自由变量,闭包,this等。

收获

this

//作为普通函数
function fn1() {
console.log(this)
}
fn1() //window

//使用call apply bind
fn1.call({ x: 100 }) //{x: 100}

const fn2 =fn1.bind({x: 200})
fn2() //{ x: 200 } bind会返回一个新函数,需要重新执行这个函数

//作为对象方法 + 箭头函数
const zhangsan = {
name: ‘张三’,
sayHi() {
console.log(this) //this即当前对象
},
wait() {
setTimeout(function() {
console.log(this) //this === window
})
},
waitAgain() {
setTimout(() => {
console.log(this) //this即当前对象
})
}
}

面试题

手写 bind

Function.prototype.bind1 = function () {
// 将参数拆解为数组
const args = Array.prototype.slice.call(arguments)

const t = args.shift()
const self = this
return function () {
	return self.apply(t, args)
}

}

0人推荐
随时随地看视频
慕课网APP