iT邦幫忙

第 12 屆 iT 邦幫忙鐵人賽

DAY 4
0
Modern Web

30天前端面試題分享系列 第 4

DAY4 箭头函数和THIS

我们知道,ES6中有了一个新的语法糖,就是箭头函数,它的写法简便,功能多,让我们来看看它的相关面试题。同样,我们可以了解到有关this的题目

语法

let foo = ()=>{
console.log('This is a function')
}
foo(); // 'This is a function'
主要就是一个 => 箭头,前面是参数,后面是跟着代码块。 如果参数只有一个,可以不加括号 如果代码块只有一行并且是一个值的话,自动编译成 返回这个值,如果不是一个值,而是一个语句,那么也不用加花括号,也可以运行。

/*
let foo = (e) => {
return e * 2
}
*/
let foo = e => e * 2 // 等同于上面的代码
let result = foo(4)
console.log(result) // 8
箭头函数中的this

箭头函数没有this 它的this永远是它的父级,如果父级也没有,那就一直往上找,直到找到为止

箭头函数与普通函数的区别

箭头函数不可以被new 因箭头函数没有arguments,而且也没有原型, 而且call/apply/bind等方法对它也无效,因为它没有this,同时,它也没有super方法。和ES6中的类有很大的差别

THIS

JS中的this有一个原则,那就是,谁调用,this就指向谁。 如果是一个对象中的函数被调用,那么这个函数的this就是这个函数。 但是我们可以通过call/apply/bind的方式来解决这个问题。 明天我们专门出一个手写这些API的文~


上一篇
DAY3 ES6相关题目
系列文
30天前端面試題分享4

尚未有邦友留言

立即登入留言