1. 程式人生 > 其它 >set、map與模組化

set、map與模組化

------------恢復內容開始------------

Set和WeakSet用法

Set本身是一個建構函式)必須穿一個數組

例子vars=newSet();

add()新增

size屬性:獲取成員的個數。

delete()方法:使用者刪除Set結構中的指定值 返回值為true false

clear()方法:清除所有成員。

has()方法:判斷set結構中是否含有指定的值。返回值為true false

entries()方法:返回一個鍵值對的遍歷器。

keys()方法:返回鍵名的遍歷器。

values()方法:返回鍵值的遍歷器。 屬性與屬性值一樣

forEach()方法:遍歷每一個成員。

set去重

letarr=[1,2,2,3,4,4,4];
lets=newSet(arr);
letnewArr=Array.from(s);

WeakSet結構

WeakSet結構同樣不會儲存重複的值,不同的是,它的成員必須是物件型別的值。

letws=newWeakSet([{"age":18}]);

add()方法,

delete()方法,

has()方法

WeakSet結構不可遍歷。

因為它的成員都是物件的弱引用,隨時被回收機制回收,成員消失。

所以WeakSet結構不會有keys(),values(),entries(),forEach()等方法和size屬性。

Map和WeakMap用法

例子 letm=newMap();

字串,數字,null,undefined,布林型別 屬性值型別都可以

letm=newMap([

["name","前端君"],
["gender",1]
]);
console.log(m);

set()方法作用:給例項設定一對鍵值對,返回map例項。

例子

m.set("name","前端君"); 名字一樣會覆蓋

get()方法作用:獲取指定鍵名的鍵值,返回鍵值。

m.get("name");//結果:前端君

delete()方法作用:刪除指定的鍵值對,刪除成功返回:true,否則返回:false。

clear()方法

has()方法;判斷Map例項內是否含有指定的鍵值對,有就返回:true,否則返回:false。

entries()方法作用:返回例項的鍵值對遍歷器。

keys()方法:返回例項所有鍵名的遍歷器。

values()方法:返回例項所有鍵值的遍歷器。

size屬性

forEach方法

ES6的Promise物件

解決了回撥地域 回撥函式層層巢狀(的問題

Promise基本用法

let pro = new Promise(function (resolve, reject) {})

Promise的三種狀態

1.pending:剛剛建立一個Promise例項的時候,表示初始狀態;

2.fulfilled:resolve方法呼叫的時候,表示操作成功;

3.rejected:reject方法呼叫的時候,表示操作失敗;

狀態只能從初始化->成功或者初始化->失敗,不能逆向轉換,也不能在成功fulfilled和失敗rejected之間轉換

catch只接受一個引數,用於處理操作異常後的業務。

then()方法:用於繫結處理操作後的處理程式。

Async/await的應用

async用於申明一個function是非同步的,返回一個promise物件

async必須宣告的是一個function,await必須在宣告的函式內部使用。

await是強制把非同步變成了同步

Promise.race()有一個狀態發生變化(不管是成功fulfilled還是異常rejected),它就會有返回

Promise.all()方法:引數中狀態都為fulfilled時,Promise.all()才會有返回。

模組化的實現

匯出Export:作為一個模組,它可以選擇性地給其他模組暴露(提供)自己的屬性和方法,供其他模組使用。

例子 export var name ="lisang"

匯入Import:作為一個模組,可以根據需要,引入其他模組的提供的屬性或者方法,供自己模組使用。

例子 import { name } from "./匯出"; console.log(name); 重新命名匯出的變數 import{name as myname }from"./匯出" console.log(myname); 整體匯入 import* as obj from"./匯出" console.log(obj.name); console.log(obj.age); obj.say() 預設匯入 import sayDefault from "./匯出" sayDefault() 預設匯出預設匯出,每個模組支援我們匯出一個沒有名字的變數,我們使用關鍵語句 export default function(){ console.log("i am default Fn"); } 整體匯出 export var name ="lisang" var age =12; var say=function(){ console.log("kaonijiwa"); }

------------恢復內容結束------------