let區別1:
let定義的變數只能在**塊{}裡面使用,形成乙個{}塊級作用域
var作用於函式作用域
區別2:
let不允許重複宣告,它是乙個封閉空間,解決了i問題
var a=5
var a=12 //-->a=5
let a=5
let a=12 //-->error
區別3:
const
const用來定義常量,一旦定義了,後面就不能修改了
箭頭函式=>
*function()中this是指向呼叫這個函式的物件
1.左右兩邊結構一樣
2.右邊必須是合法結構(錯誤例子:)
3.宣告和賦值寫在一句話中(錯誤例子:let [a,b]; [a,b]=[12,5];)
//陣列
let [a,b,c]=[12,5,101] // a=12,b=5,c=101
//json
let = // json跟順序無關,a=12,b=5,c=101
//混合型,左右結構、順序一致
let [,[n1,n2,n3],num,str] = [,[12,5,8],8,'ecmascript']
//a=3,b=8,c is not defined 對陣列的解構
var [a,b]=[3,5,8];
//x=v,y=u,z=e 對字串的結構
var [x,y,z]=vue;
//m=10,n=20 物件的解構,對key進行拆分
var =;
var arr1=[1,2,3,4]
var arr2=
for(var i=0;i
//其中也可以有key、value不相同的
let a=12;
let b=5;
let json=; //
console.log(json); //
//json裡的方法簡寫,`:function`可以省略
let json=
}
`string text $ string text`
var [x,...y]=[4,8,10,30] //x=4,y=[8,10,30] y成了動態引數
let xy=[...'es6']; //['e','s','6'] 拆解
//陣列拆分
console.log(...[4,8]) //4,8
//陣列拆分的高階
let arr1 =[1,3];let arr2=[4,8];
[...arr1,...arr2] //[1,3,4,8]
function show(a,b=5,c=12)
show(99,19) //99,19,12
show(99) //99,5,12
//for in
for(var i in arr)
//for of
for(var i of arr)
for of可以迴圈陣列,但是不能迴圈json,因為它是為了與map配合使用
var map = new map();
map.set(name,value); // 可以設定name,value
map.get(name); // 可以單獨獲取name
map.delete(name); // 可以單獨刪除name
//與for of 的配合
for(var name of map)
for(var [key,value] of map)
for(var key of map.keys) // 可以只迴圈map中的key值
//例一
let arr=[12,5,8];
let result=arr.map(item=>item*2);
alert(result);
//例二
let score=[19, 85, 99, 25, 90];
let result=score.map(item=>item>=60?'及格':'不及格');
alert(score);
alert(result);
//求和
let arr=[12,69,180,8763];
let result=arr.reduce(function (tmp, item, index));
alert(result);
//求平均數
let arr=[12,69,180,8763];
let result=arr.reduce(function (tmp, item, index)else
});alert(result);
let arr=[12,5,8,99,27,36,75,11];
//選擇能夠被3整除的數
let result=arr.filter(item=>item%3==0);
alert(result);
let arr=[12,5,8,9];
arr.foreach((item,index)=>);
//old
function user(name, pass)
user.prototype.showname=function ();
user.prototype.showpass=function ();
//es6
class user
showname()
showpass()
}
supper關鍵字:超類、父類
//old
function vipuser(name, pass, level)
vipuser.prototype=new user();
vipuser.prototype.constructor=vipuser;
vipuser.prototype.showlevel=function ();
//es6
class vipuser extends user
showlevel()
}
模組化exprot default // 匯出
import moda from './a.js' // 引入模組
ES6新增常用方法
let 1.在塊級作用域內部有效 迴圈中迴圈變數部分和迴圈體內部是不同作用域 不存在變數提公升,先宣告後使用,否則報錯 4.塊級作用域內只要存在let,所生命的變數就 繫結 這個區域,不受外界影響 var a for let i 1 i 10 i a 6 6塊級作用域與函式宣告 允許在塊級作用域內宣...
ES6新增,常用的方法
新增了canvas 繪畫檢視 新增了定義class的語法糖 函式的新增了箭頭函式 函式引數的預設值 陣列例項新增了 keys values entries 新增了基本資料型別 symbol 變數的解構賦值 新增了map資料結構 和 set資料結構 新增了模組化 import export 陣列和物件...
ES6新增方法
變數宣告 let 1.區域性變數,只能在區域性呼叫 2.不能重複宣告 3.不會提公升變數 console.log a let a const 1.宣告乙個常量 2.宣告必須賦值 3.不能被修改 4.變數名建議大寫,如 const pi 3.14 變數型別 資料型別 1.數字 number 2.字串 ...