日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
ES6新增語法—函數(shù)和參數(shù)

 箭頭函數(shù)

箭頭函數(shù):將原來函數(shù)的function關(guān)鍵字和函數(shù)名都刪掉,并使用”=>”連接參數(shù)列表和函數(shù)體。

為通化等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及通化網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都網(wǎng)站制作、網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)、通化網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!

箭頭函數(shù)語法:

(參數(shù)1,參數(shù)2)=>{

函數(shù)體

}

注意點(diǎn):

  • 當(dāng)參數(shù)有且只有一個(gè),括號(hào)可以省略。沒有參數(shù)或多個(gè)參數(shù)時(shí),括號(hào)不能省略。
  • 如果函數(shù)體有且只有一個(gè)表達(dá)式時(shí),可以省略花括號(hào)。

箭頭函數(shù)使用實(shí)例:

 
 
 
  1. window.onload = ()=>{ 
  2.  console.log('網(wǎng)頁加載完成') 

參數(shù)只有一個(gè)時(shí),省略掉括號(hào)。函數(shù)體只有一個(gè)表達(dá)式,花括號(hào)也省略。如:

 
 
 
  1. let arr=[1,2,3,4] 
  2. arr.forEach((item)=> 
  3.  console.log('item',item) 

This指向問題

1、在全局環(huán)境下,this始終指向全局對(duì)象,無論是否嚴(yán)格模式。

2、普通函數(shù)內(nèi)部的this分嚴(yán)格模式和非嚴(yán)格模式。

  • 嚴(yán)格模式下this為undefined。
  • 非嚴(yán)格模式下,this指向全局對(duì)象window。

3、箭頭函數(shù)的 this 是上下文的this。

箭頭函數(shù)相當(dāng)于匿名函數(shù),并且簡化了函數(shù)定義,但箭頭函數(shù)和匿名函數(shù)有個(gè)明顯的差異,箭頭函數(shù)內(nèi)部的this是詞法作用域,上下文的this值作為自己的this值。

  • Call()、apply()、bind()方法對(duì)于箭頭函數(shù)只是傳入?yún)?shù),對(duì)它的this毫無影響。
  • 考慮到this是詞法層面上的,嚴(yán)格模式中與this相關(guān)的規(guī)則都將被忽略。

放在setTimeout中的兩個(gè)箭頭函數(shù)返回的this舉例。

 
 
 
  1. function Person(name,age){ 
  2.  this.name = name; 
  3.  this.age = age; 
  4.  setTimeout(()=>{ 
  5.   console.log('this',this) //Person {name: "倩倩", age: 18} 
  6.  },100) 
  7. let p = new Person('倩倩',18) 
  8. setTimeout(()=>{ 
  9.  console.log("this",this)//Window {window: Window, self: Window, document: document, name: "", location: Location, …} 
  10. },1000) 

函數(shù)參數(shù)的默認(rèn)值

在ES6之前,不能直接為函數(shù)的參數(shù)指定默認(rèn)值,只能采取變通措施。

實(shí)例:普通函數(shù)給參數(shù)設(shè)置默認(rèn)值

 
 
 
  1. function sum(a,b){ 
  2.  a = a | 12; 
  3.  b = b | 5; 
  4.  return a+b 
  5. console.log('相加等于',sum()) 

ES6允許函數(shù)參數(shù)設(shè)置默認(rèn)值,即直接寫在參數(shù)定義的后面。如

 
 
 
  1. function sum(a=12,b=5){ 
  2.  return a+b 
  3. console.log('相加等于',sum()) 

ES6默認(rèn)參數(shù)優(yōu)點(diǎn):

  • 簡潔,適用于參數(shù)多的時(shí)候,方便設(shè)置默認(rèn)值。
  • 閱讀代碼的人可以看出哪些參數(shù)是可以省略的,不用查看函數(shù)體或文檔。
  • 有利于代碼的優(yōu)化,即使未來版本拿掉這個(gè)參數(shù),以前代碼也可以運(yùn)行,還有參數(shù)變量是默認(rèn)聲明的,不能在函數(shù)體內(nèi)部再進(jìn)行聲明。

與結(jié)構(gòu)賦值結(jié)合使用

 
 
 
  1. function add({x=1,y=2}={}){ 
  2.  return x+y 
  3. console.log('相加等于',add({x:2})) // 相加等于 4 

ES6函數(shù)不定參數(shù)和展開運(yùn)算符

不定參數(shù):

語法:...

類型:數(shù)組

作用:指定多個(gè)各自獨(dú)立的參數(shù),通過整合后的數(shù)組來訪問。

限制:

  • 最多只能聲明一個(gè)
  • 只能放在參數(shù)末尾

實(shí)例:簡單應(yīng)用

 
 
 
  1. function show( a, ...args){ 
  2.  console.log('a',a) 
  3.  console.log('args',...args) 
  4. show(1,2,3) 

展開運(yùn)算符:

語法:...

作用:指定數(shù)組或?qū)ο?,將他們打散后作為各自?dú)立的參數(shù)。

實(shí)例:使用展開運(yùn)算符展開數(shù)組。

 
 
 
  1. let arr = ['a','b','c'] 
  2. let arr2 = [] 
  3. arr2.push(...arr) 
  4. console.log('arr2',arr2) 

實(shí)例:使用展開運(yùn)算符展開對(duì)象。

 
 
 
  1. let person = { 
  2.  name :'倩倩', 
  3.  age:18 
  4. let worker = { 
  5.  ...person, 
  6.  job:"打雜" 
  7. console.log('worker',worker) 

分享文章:ES6新增語法—函數(shù)和參數(shù)
文章源于:http://www.dlmjj.cn/article/dhiodpc.html