1.const和let有什么區(qū)別
第一個 const
const b = 2;//正確
// const b;//錯誤,必須初始化
console.log('函數(shù)外const定義b:' + b);//有輸出值
// b = 5;
// console.log('函數(shù)外修改const定義b:' + b);//無法輸出
第二個 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
其實還有一個var,他也是聲明變量的一種,
var定義的變量可以修改,如果不初始化會輸出undefined,不會報錯。
var a = 1;
//var a 不會報錯,但是在第一個的const中就會報錯
console.log(a)//輸出值為1
function change(){
a = 4 ;
console.log(a) //此時輸出的值就是4
}
//但是在函數(shù)外部調(diào)用就是不一樣的情況了
change();
console.log(4)//此時就是 4
箭頭函數(shù) 是什么
找了半天的資料還是一知半解的 ,只能理解網(wǎng)上面的東西來寫了,
在ES6 中使用(=>)來定義函數(shù)
var f = v => v;
上面代碼相當于
var f = function(v){
return v;
}
還有就是
x => { return x * x }; // 函數(shù)返回 x * x
x => x * x; // 同上一行
x => return x * x; // SyntaxError 報錯,不能省略 {}
x => { x * x }; // 合法,沒有定義返回值,返回 undefined
貼出大段的代碼也是復(fù)制的不知道真正的含義,目前只能理解到這里 了