1.const和let有什么區(qū)別
第一個(gè) const
const b = 2;//正確
// const b;//錯(cuò)誤绒尊,必須初始化
console.log('函數(shù)外const定義b:' + b);//有輸出值
// b = 5;
// console.log('函數(shù)外修改const定義b:' + b);//無法輸出
第二個(gè) let
let c = 3;
console.log('函數(shù)外let定義c:' + c);//輸出c=3
function change(){
let c = 6;
console.log('函數(shù)內(nèi)let定義c:' + c);//輸出c=6
}
change();
console.log('函數(shù)調(diào)用后let定義c不受函數(shù)內(nèi)部定義影響:' + c);//輸出c=3
其實(shí)還有一個(gè)var,他也是聲明變量的一種黄刚,
var定義的變量可以修改时呀,如果不初始化會(huì)輸出undefined芦疏,不會(huì)報(bào)錯(cuò)。
var a = 1;
//var a 不會(huì)報(bào)錯(cuò)矛洞,但是在第一個(gè)的const中就會(huì)報(bào)錯(cuò)
console.log(a)//輸出值為1
function change(){
a = 4 ;
console.log(a) //此時(shí)輸出的值就是4
}
//但是在函數(shù)外部調(diào)用就是不一樣的情況了
change();
console.log(4)//此時(shí)就是 4
箭頭函數(shù) 是什么
找了半天的資料還是一知半解的 洼哎,只能理解網(wǎng)上面的東西來寫了,
在ES6 中使用(=>)來定義函數(shù)
var f = v => v;
上面代碼相當(dāng)于
var f = function(v){
return v;
}
還有就是
x => { return x * x }; // 函數(shù)返回 x * x
x => x * x; // 同上一行
x => return x * x; // SyntaxError 報(bào)錯(cuò)沼本,不能省略 {}
x => { x * x }; // 合法噩峦,沒有定義返回值,返回 undefined
貼出大段的代碼也是復(fù)制的不知道真正的含義抽兆,目前只能理解到這里 了