《費曼學習法》筆記摘要
阿新 • • 發佈:2021-07-11
變數提升
變數提升不是好事,現在一般都使用let
1.直接console.log(x)
報錯x未定義
2.在後面加let
初始化前不能使用
相當於在塊級內 把變數的申明提到最前
注意 var 可以提升變數 let 不提升變數
3.在後面加var
變數同名覆蓋
var 定義的同名變數,
後面的會覆蓋前面的值,而且JS不會報任何錯誤
使用let,同名的話會報錯
let y =123
let y =456
function變數提升
function 在後面定義的時候他也會提升到頂部
題目:
console.log(v1); var v1 = 100; function foo() { console.log(v1); var v1 = 200; console.log(v1); } foo(); console.log(v1);
結果:
實際的順序是,注意var 會覆蓋
var v2;
var foo;
foo = function(){
var v2
console.log(v2);//2 undefined
v2 =200;
console.log(v2);//3 200
}
console.log(v2);//1 undefined
v2 =100 ;
foo()
console.log(v2);//4 100pu