亚洲视频二区_亚洲欧洲日本天天堂在线观看_日韩一区二区在线观看_中文字幕不卡一区

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.430618.com 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

學習了一段時間的前端知識,日常中會copy些語法使用規則,對于這些語法雖會簡單的使用,但并不咋了解,因此決定對這些進行了一番系統的學習:

一.聲明變量

現在JAVAScript有三種不同關鍵字聲明變量:var、let、const;在ES6之前使用的一直是var,ES6是添加了let、const;

  1. var聲明的變量作用域為全局作用域
  1. let聲明的變量作用域為塊級作用域
  1. const聲明的變量是不允許改變(即只讀,通常以大寫字母命名)

二、箭頭函數

舉例:

const array=[1,2,3,4,5];
const odd=array.filter(arr => arr%2 ==0 )

像這樣帶有“=>”箭頭的函數寫代碼的時候會經常接觸到,這樣的函數稱為箭頭函數,是ES6中新增的特性,可以使代碼看上去更加簡潔,但同時對于不了解這種寫法的人來說就不是較容易理解了。若不使用這種帶箭頭的寫法:

const array=[1,2,3,4,5];
const odd=array.filter(function(arr){arr => return arr%2 ==0; })

三、字符串拼接

字符拼接是我們經常使用到的,通常情況下,代碼會這么寫

let name='張三';
console.log(name+'你好!');

ES6語法中使用 ` ` 字符拼接:

let name='張三';
console.log(`${name}你好!`);

 四、解構賦值

解構賦值主要用于數組和對象賦值

//對象解構賦值
let obj = {
 'name': 'admin',
 'age': 22
 };
let {name , age}=obj;//name='admin';age=22
//數組解構賦值
let [a , b , c]=[1, 2, 3];//a=1; b=2; c=3

對象的解構賦值的內部機制,是先找到同名屬性,然后再賦給對應的變量,如圖,列舉了些更詳細的用法:

ES6、ES7、ES8、ES9、ES10常用語法總匯

ES語法之解構

五、擴展運算符

擴展運算符就是三個點( ... ),這是ES6新增的語法,作用是將一個數組轉成用逗號分隔的參數序列;ES8將這個運算符引入了對象:

ES6、ES7、ES8、ES9、ES10常用語法總匯

ES語法之擴展運算符

六、異步編程

在實際編碼過程中,經常會遇到JavaScript代碼異步執行,怎樣處理好異步編程帶來的問題非常重要。

異步問題:回調地獄 和 捕獲異常

試想一個場景,我們需要在一個方法運行結束后再運行另一個方法,最常見的就是在調用方法的最后調用下一個方法,但這種情況一個方法里面調用另一個放,另一個方法中又再調用其它方法...,有很多這樣的方法的話就會形成回調地獄。

在異步代碼中捕獲異常比較麻煩,可能需要手動配置捕獲方式,但何時捕獲是個問題,書寫時會引起維護上的困難。

常用解決方案:

  • 1.callback

通過回調函數的方式處理異步,即將函數作為參數傳入另一個函數中。

  • 2.Promise

Promise翻譯為“承諾”,簡單的思考為當一個異步代碼執行后,我們不需管代碼何時結束、出錯,我只需按照它的承諾去處理就行。

Promise有四種狀態fulfiled(成功)、rejected(失敗)、pending(進行中),之后新增Settled(最終狀態);resolve修改成功狀態,reject修改失敗狀態,

Promise的整理如圖:

ES6、ES7、ES8、ES9、ES10常用語法總匯

ES語法之異步編程Promise

  • 3.Generator

ES6新引入了Generator,generator是一個構造器,函數執行時不會執行函數體的內部而是返回一個構造器對象,通過next方法調用函數主體,遇到yield會暫停執行。

function* generatorTest() {
  console.log(yield '1')  //test1
  console.log(yield '2')  //test2
  console.log(yield '3')  //test3
}
const gen = generatorTest();
gen.next()
gen.next('test1')
gen.next('test2')
gen.next('test3')
  • 4.co

為解決Generator需手動執行next方法的問題,網上也有很多封裝,最常見的就是co函數庫,但不便的是使用時需額外引入一個模塊。

  • 5.async/await

ES7提供了更加方便的asyc函數和await命令,async返回一個promise對象,await后面接受一個promise實例。

async/await實際上是對Generator的封裝。

七、冪運算

ES7中引入了冪運算符**

console.log(3**2); // = 9
//等同于
Math.pow(3,2); // = 9

八、查詢數組元素

ES7中添加了數組includes()方法,用來普安段數組中是否執行指定的值。

['a','b','c'].includes('a'); // ture
//等同于
['a','b','c'].indexOf('a')>=0; // ture

數組是日常中經常使用的,對于數組操作的Array方法有哪些呢,如圖列舉經常使用的方法:

ES6、ES7、ES8、ES9、ES10常用語法總匯

數組操作方法集


ES6、ES7、ES8、ES9、ES10常用語法總匯

Array方法匯

九、String方式

ES6、ES7、ES8、ES9、ES10常用語法總匯

String方法集合

十、基本數據值類型

ES6、ES7、ES8、ES9、ES10常用語法總匯

ES語法之基本數據類型-值類型

ES語法總匯圖:

ES6、ES7、ES8、ES9、ES10常用語法總匯

ES6、ES7、ES8、ES9、ES10新增語法特性圖

分享到:
標簽:ES6
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定