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

ES6新增語法—函數和參數

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

[[414274]]

 箭頭函數

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

箭頭函數語法:

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

函數體

}

注意點:

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

箭頭函數使用實例:

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

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

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

This指向問題

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

2、普通函數內部的this分嚴格模式和非嚴格模式。

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

3、箭頭函數的 this 是上下文的this。

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

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

放在setTimeout中的兩個箭頭函數返回的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) 

函數參數的默認值

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

實例:普通函數給參數設置默認值

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

ES6允許函數參數設置默認值,即直接寫在參數定義的后面。如

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

ES6默認參數優點:

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

與結構賦值結合使用

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

ES6函數不定參數和展開運算符

不定參數:

語法:...

類型:數組

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

限制:

  • 最多只能聲明一個
  • 只能放在參數末尾

實例:簡單應用

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

展開運算符:

語法:...

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

實例:使用展開運算符展開數組。

  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開發語言

2021-08-18 07:05:57

ES6Asyncawait

2021-07-16 07:26:48

ES6javascript開發語言

2021-08-02 05:51:29

foreachES6數組

2022-01-26 07:18:57

ES6WeakSetMap

2022-06-01 09:06:58

ES6數組函數

2023-05-10 08:21:42

Es6Set

2021-04-25 13:18:51

Wine 6.7LinuxWindows

2024-06-26 08:18:08

ES6模板字符串

2023-11-23 10:21:11

ECMAScriptJavaScript

2016-08-01 16:26:34

ES6集合

2017-10-09 18:21:20

JavaScriptES6ES8

2020-07-01 07:58:20

ES6JavaScript開發

2017-08-31 14:25:34

前端JavascriptES6

2021-06-23 10:32:24

前端ES6代碼

2020-11-16 08:10:04

ES6迭代器JavaScript

2022-07-26 09:02:15

ES6ES13ECMAScript

2021-02-05 07:33:05

JavaScript參數ES6

2023-03-01 15:39:50

JavaScrip對象屬性ES6

2023-05-28 23:49:38

JavaScrip開發
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 性网址| 91高清在线观看 | 伊人精品久久久久77777 | 精品一区欧美 | 亚洲一区二区三区在线 | 伊人网在线看 | 亚洲大片在线观看 | 欧美日韩中文字幕 | 久久久www成人免费无遮挡大片 | 欧美综合国产精品久久丁香 | 久久综合久久久 | 国产一区二区三区在线免费观看 | 中文字幕在线免费观看 | av在线播放一区二区 | 亚洲午夜小视频 | 久久伊人精品一区二区三区 | 日韩成人一区 | 国产一级大片 | 欧美一区二区免费视频 | 久久首页 | 久久电影一区 | 日韩看片| 一级在线视频 | 亚洲最大福利网 | 欧美一区二区三区在线播放 | 秋霞电影院午夜伦 | 一级做a爰片性色毛片16美国 | 久久久久久色 | 黄色国产视频 | 亚洲高清久久 | 精品亚洲国产成av人片传媒 | www.三级| 视频三区 | 欧美一级黄色片在线观看 | 成人亚洲片 | 欧美精品二区三区 | 日韩成人免费在线视频 | 日韩欧美国产一区二区 | 国产精品久久久久久久7电影 | 在线观看视频h | 99久久精品免费看国产四区 |