成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

ES6新增語法—函數(shù)和參數(shù)

開發(fā) 前端
箭頭函數(shù):將原來函數(shù)的function關鍵字和函數(shù)名都刪掉,并使用”=>”連接參數(shù)列表和函數(shù)體。參數(shù)只有一個時,省略掉括號。函數(shù)體只有一個表達式,花括號也省略。

[[414274]]

 箭頭函數(shù)

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

箭頭函數(shù)語法:

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

函數(shù)體

}

注意點:

  • 當參數(shù)有且只有一個,括號可以省略。沒有參數(shù)或多個參數(shù)時,括號不能省略。
  • 如果函數(shù)體有且只有一個表達式時,可以省略花括號。

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

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

參數(shù)只有一個時,省略掉括號。函數(shù)體只有一個表達式,花括號也省略。如:

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

This指向問題

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

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

  • 嚴格模式下this為undefined。
  • 非嚴格模式下,this指向全局對象window。

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

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

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

放在setTimeout中的兩個箭頭函數(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ù)的默認值

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

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

  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ù)定義的后面。如

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

ES6默認參數(shù)優(yōu)點:

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

與結構賦值結合使用

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

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

不定參數(shù):

語法:...

類型:數(shù)組

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

限制:

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

實例:簡單應用

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

展開運算符:

語法:...

作用:指定數(shù)組或對象,將他們打散后作為各自獨立的參數(shù)。

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

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

實例:使用展開運算符展開對象。

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

 

責任編輯:姜華 來源: 今日頭條
相關推薦

2021-08-16 07:05:58

ES6Promise開發(fā)語言

2021-08-18 07:05:57

ES6Asyncawait

2021-07-16 07:26:48

ES6javascript開發(fā)語言

2021-08-02 05:51:29

foreachES6數(shù)組

2022-01-26 07:18:57

ES6WeakSetMap

2022-06-01 09:06:58

ES6數(shù)組函數(shù)

2023-05-10 08:21:42

Es6Set

2021-04-25 13:18:51

Wine 6.7LinuxWindows

2017-10-09 18:21:20

JavaScriptES6ES8

2024-06-26 08:18:08

ES6模板字符串

2023-11-23 10:21:11

ECMAScriptJavaScript

2016-08-01 16:26:34

ES6集合

2021-06-23 10:32:24

前端ES6代碼

2020-07-01 07:58:20

ES6JavaScript開發(fā)

2017-08-31 14:25:34

前端JavascriptES6

2020-11-16 08:10:04

ES6迭代器JavaScript

2023-03-01 15:39:50

JavaScrip對象屬性ES6

2023-05-28 23:49:38

JavaScrip開發(fā)

2021-02-05 07:33:05

JavaScript參數(shù)ES6

2022-07-26 09:02:15

ES6ES13ECMAScript
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久亚洲国产精品 | 日韩淫片免费看 | 亚州综合一区 | 久久国产高清视频 | 九九热免费在线观看 | 一区二区三区av | 亚洲人成一区二区三区性色 | 亚洲成人久久久 | 欧美一级二级三级视频 | 精品少妇一区二区三区日产乱码 | 久视频在线 | 精品国产91亚洲一区二区三区www | 成人h视频在线 | 国产一区中文 | 最新中文字幕在线 | 免费国产黄| 日日人人 | 国产一区二区美女 | 黄色毛片网站在线观看 | 欧日韩在线观看 | 精品国产欧美一区二区三区成人 | 国产传媒视频在线观看 | 精品久久久久久红码专区 | 毛片1| 国产精品一区二区三区在线播放 | 精品中文字幕一区二区 | 日本天堂一区二区 | 亚洲黄色av网站 | 国产一区二区三区在线视频 | 精品小视频 | 国产一区二区在线免费 | 日韩一区二区三区av | 免费视频一区 | 久久亚洲欧美日韩精品专区 | 国产精品一区二区无线 | 国产精品日产欧美久久久久 | 日韩一二区在线观看 | 夜夜操天天艹 | 日韩免费一区二区 | 久久久.com | 国产精品入口麻豆www |