深入理解ES6讀書筆記3 函式

2021-10-22 19:16:25 字數 1390 閱讀 7287

引數預設值

未提供引數,或將引數值指定為undefined時,預設值會被使用。

function add(a, b = 2, c = 3)

add(1); //6

add(1,2); //6

add(1,undefined,4); //7

add(1,null,4);

引數預設值表示式

引數預設值除了是基本型別的值,也可以執行乙個函式來產生預設值。

function getvalue()

//未提供第二個引數時,getvalue()才會被呼叫

function add(a, b = getvalue())

console.log(add(1,1)); //2

console.log(add(1)); //6

getvalue()函式也可以返回可變的值。

let value = 5;

function getvalue()

function add(a, b = getvalue())

console.log(add(1,1)); //2

console.log(add(1)); //6

console.log(add(1)); //7

可以將前面的引數作為後面引數的預設值(反之,後面引數作為前面引數的預設值不行)

function add(a, b = a)

console.log(add(1,1)); //2

console.log(add(1)); //2

也可以將前面的引數a作為引數傳遞給乙個函式來產生引數b的值。

function getvalue(value)

function add(a, b = getvalue(a))

console.log(add(1,1)); //2

console.log(add(1)); //7

剩餘引數

剩餘引數由三個點(...)與乙個緊跟著的具名引數指定,它會是包含傳遞給函式的其餘引數的乙個陣列。

函式只能有乙個剩餘引數,並且它必須放在最後。

function add(a, ...last)

}}("f1");

console.log(f1.getname()); //f1

//箭頭函式

let f2 = ((name) =>

}})("f2");

console.log(f2.getname()); //f2

讀書筆記 深入理解ES6 (二)

1.更好的unicode支援。先說一下前提,在字串中,字串裡面的字元有兩種 一種是有乙個編碼單元16位表示的bmp字元 另一種是由兩個編碼單元32位表示的輔助平面字元。這兩種字元是不一樣的。1.1normalize 方法。這個方法接受乙個可選的字串,然後將該字串轉化為相應的標準unicode的形式,...

讀書筆記 深入理解ES6(一)

開篇詞 這是一篇關於 深入理解es6 的讀書筆記的第一篇,主要是讀第一章的筆記。該筆記基本上只記錄思路和核心知識點,具體內容可以參考書上的 和細節講解,以求達到提綱挈領和後期方便溫習的作用。1.var宣告和變數提公升 hoisting 機制。該節中,主要講述了作為原來es5中經常使用到的關鍵字 va...

深入理解ES6讀書筆記10 模組

模組使用不同方式載入的js檔案。模組化分為匯出 export 與匯入 import 兩個模組。特點 1 模組自動開啟嚴格模式 2 每乙個模組內宣告的變數都是區域性變數 3 模組中可以匯入和匯出各種型別的變數 4 每乙個模組只載入一次 是單例的 若再去載入同目錄下同檔案,直接從記憶體中讀取 5 對於需...