es6和node.js都是默認(rèn)開啟嚴(yán)格模式的(不管你想不想開)
目前es6需要配置環(huán)境,不然只能在高級(jí)瀏覽器中使用
let作用域?yàn)閴K作用域
let局部變量關(guān)鍵詞(限制在一個(gè)區(qū)域使用) var 全局變量
解構(gòu)賦值
ES6允許按照一定模式,從數(shù)組或者對(duì)象...中提取值,對(duì)變量進(jìn)行賦值,這被稱為解構(gòu)
如:? var [name,age] = ["路飛",18];
? ? ? ? ?console.log(name,age);
常量单芜,需要賦初值,不能修改,只能聲明一次
常量可以小寫,但是如果要區(qū)分常量和變量,默認(rèn)常量是大寫
箭頭函數(shù):
var arr = [1,2,3,4];
arr.forEach(function(v){
console.log(v);
})
箭頭函數(shù)為; arr.forEach( v => console.log(v) );
箭頭函數(shù)的使用: 省掉了function 和小括號(hào) 大括號(hào)
同時(shí):多個(gè)參數(shù) 時(shí)要加小括號(hào)
如:arr.forEach( (v,k) => console.log(v,k) );
多個(gè)語句 要加大括號(hào)
如:arr.forEach( (v,k) => {console.log(v);console.log(k);})
class屬性:
class DiyPoint{
這里添加屬性
構(gòu)造器:構(gòu)造方法缠劝,不是自定義的 在new時(shí)候回自動(dòng)調(diào)用次方法
初始化种蝶,通常給賦值賦初值:準(zhǔn)備工作
constructor(x,y){
自己調(diào)用的扩借,相當(dāng)于之前構(gòu)造函數(shù)初始化屬性
這里省略function
this.x = x;
this.y = y;
}
promise:promise是為了更好的異步操作
簡(jiǎn)單使用:?
?{
let ajax = function(){
console.log("我是demo2");
返回一個(gè)對(duì)象襟铭,這個(gè)對(duì)象就是promise的實(shí)例薄货,具有一個(gè)then的方法翁都,就是執(zhí)行下一步的方法
return new Promise(function(resolve,reject){
有兩個(gè)參數(shù): resolv是執(zhí)行下一步操作, reject是終止操作
setTimeout(function(){?
? ?resolve();
? ?reject();
? },1000);
})
}
then方法是promise實(shí)例執(zhí)行下一步的方法,對(duì)應(yīng)的resolv
ajax().then(function(){
console.log("我是成功后的內(nèi)容");
}).catch(function(){
console.log("我是失敗后的內(nèi)容");
})