自執(zhí)行方法
定義一個自執(zhí)行函數,函數定義完成后,自己執(zhí)行一次,函數名可以省略,因為沒有任何意義
注意:要以分號結束,否則可能會影響后面的語句。
(functionsayHello(){console.log('sayHello');})();
自執(zhí)行函數的簡寫形式
+functionsayYes(){console.log('sayYes');}();
自執(zhí)行函數,也可以直接定義成箭頭函數
(()=>{console.log('aaa');})()
.rest參數
// ...args 就是rest參數functionfun1(a,b,c,...args){console.log(a,b,c);// arguments 是一個類數組對象,結構長得像數組,其實是一個object對象console.log(arguments);// rest參數 是一個數組對象,既然是數組,就可以直接使用數組的方法。console.log(args);}
.展開運算符
展開運算符就是...,可以將一個數組全部展開
letarr3=[...arr1,...arr2]
展開運算符,可以展開對象的全部成員,也可以將一個對象的成員,克隆給另一個對象
letlh2={...lh}
展開運算符,可以將多個對象的成員,合并到一個大的對象中,后面對象中的成員,如果跟前面對象中的成員同名,會覆蓋前面的
letlxt={...lh,...gxt}
解構賦值
ES6中的解構賦值語句,可以直接將數組中的每個元素提取出來
方式是:let [變量名1,變量名2,...] = 數組
ES6中的解構賦值語句,可以直接將對象中的每個元素提取出來
方式是:let {name,age,gender,job} = obj
通常情況下,對象的屬性名稱叫什么,就定義什么名稱的變量去接,如果出現(xiàn)了同名,可以修改名稱
方式是:let {name,age:age1,gender,job} = obj
在ES6中,定義對象時,屬性的左右兩邊的表達式相同時,可以省略右邊的表達式,該對象在定義的時候,會自動往父級作用域尋找同名屬性名對應的值