第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

es6箭頭函數(shù)的理解及面試題

標(biāo)簽:
JavaScript 面試

箭头函数的介绍

箭头函数是es6当中对函数的一种全新表示法。其将函数的简洁性发扬到了极致!先来看一个最简单的箭头函数:

let fn=v=>v;console.log(fn("好酷的箭头函数!"));//好酷的箭头函数!

初次接触箭头函数的人可能会为其简洁性的语法而惊讶!和之前的写法进行一次比较:

let fn=function(v){    return v;
}console.log(fn("好酷的箭头函数!"));//好酷的箭头函数!

箭头函数的写法

1、如果只有一条语句,可以将{}和return省略掉

v=>v+v;//相当于function (v){.    return v+v;
}

2、如果语句为多条,则不可以省略{}和return

v=>{    var sum=0;    for(let i=0;i<v;i++){
        sum+=i;
    }    return sum;
}

有两点需要注意:

*当没有参数或有多个参数时,需要用括号()括起来:
(num1,num2)=>num1+num2;
*当省略{}和return时,如果返回的内容是一个对象,对象需要用括号()括起来:
()=>({name:"laoliu"});

箭头函数不能用于构造函数

先看不是箭头函数的构造函数代码,一切正常!

var Box=function(age){    this.myAge=age;
}var obj=new Box(20);console.log(obj.myAge);//20

如果改为箭头函数的形式,再来看看:

var Box=age=>{    this.myAge=age;
}var obj=new Box(20);//Box is not a constructorconsole.log(obj.myAge);

箭头函数没有prototype属性

var Foo = () => {};console.log(Foo.prototype); // undefined

箭头函数不绑定arguments

一道面试题可以说明一切:

var arguments = 42;var fn = () => arguments;console.log(fn()); // 42function foo() {    var f = (i) => arguments[0]+i;    return f(2);
}console.log(foo(1)); // 3

箭头函数不绑定this

箭头函数中的this指向的是定义时的this,而不是执行时的this。也就是说箭头函数没有自己的this,其内部的this绑定到它的外围作用域。对象内部的箭头函数若有this,则指向对象的外围作用域。
再来看道面试题:

window.color = "red";//let 声明的全局变量不具有全局属性,即不能用window.访问let color = "green";let obj = {    color: "blue",    getColor: () => {        return this.color;//this指向window
    }
};let sayColor = () => {    return this.color;//this指向window};
obj.getColor();//redsayColor();//red

箭头函数无法使用 call()或 apply()来改变其运行的作用域。

再来一道面试题

window.color = "red";let color = "green";let obj = {
  color: "blue"};let sayColor = () => {
  return this.color;
};
sayColor.apply(obj);//red



作者:张培跃
链接:https://www.jianshu.com/p/a416cb02e4a2

點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
手記
粉絲
94
獲贊與收藏
545

關(guān)注作者,訂閱最新文章

閱讀免費(fèi)教程

  • 推薦
  • 評(píng)論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評(píng)論
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消