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

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

ES6新增let、箭頭函數(shù)理解

標(biāo)簽:
JavaScript

1、关于let
用来锁定块程序内的变量非常实用:

   var a = [];

for (var i = 0; i < 10; i++) {
a[i] = function () {
console.log(i);
};
}
a[6](); // 输出10  
用var  i  并没有将i值锁定(var定义的i会变量提升,作为全局变量),数组a中每个成员中的i都是公用一个变量空间,所以最后i为10,a[1]()-----a[10]()输出均为10

   var a = [];

for (let i = 0; i < 10; i++) {
a[i] = function () {
console.log(i);
};
}
a[6](); // 输出6

用let  i  会针对for每次循环的{ }块代码重新定义变量空间,js解释引擎会自动记录上次i值,所以a的每个成员的i值都是不一样的!

2、箭头函数使函数定义变得更简洁:

var f = () => 5;
// 等同于
var f = function () { return 5 };

var sum = (num1, num2) => num1 + num2;
// 等同于
var sum = function(num1, num2) {
return num1 + num2;
};

箭头前一般为传入参与,箭头后一般返回参数,没有传入参数可以用(),如果没有返回参数可以用{}把语句包含。

关于箭头函数有几个使用注意点:

(1)函数体内的this对象,就是定义时所在的对象,而不是使用时所在的对象。如下:

{
var  ft=function(){
this.a='a';
this.b='b';
this.c={
a: 'a+';
b: ()=>{
return this.a;
}

                          }          }          console.log(new ft().c.b());  //显示 a,不是a+,因为this指向在定义箭头函数时就已经被确定了箭头函数外的this相同

}

比较非箭头函数写法结果:

{
var  ft=function(){
this.a='a';
this.b='b';
this.c={
a: 'a+';
b: fuction(){
return this.a;
}

                          }          }          console.log(new ft().c.b());  //显示 a+,不是a,此时的 this是在对象被使用的时候定义,即被调用的时候定义,this指向c

}

(2)不可以当作构造函数,也就是说,不可以使用new命令,否则会抛出一个错误。

(3)不可以使用arguments对象,该对象在函数体内不存在。如果要用,可以用 rest 参数代替。

(4)不可以使用yield命令,因此箭头函数不能用作 Generator 函数。
先做个记录,有时间再分析

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

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

評(píng)論

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

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

100積分直接送

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

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

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

購(gòu)課補(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
提交
取消