js提公升機制(hoisting)

2022-03-14 18:03:21 字數 871 閱讀 2349

這是我申請寫的第一篇文章,想把這兩天學習的關於js的變數和函式提公升機制(

hoisting

)記錄下來。

從網上看到這麼一段**:

varc = 2;

functionc()

a = 10; //這可不是對外面的全域性變數a定義哦

console.log(a); //10(區域性變數

)vara = 11;

console.log(a); //11(區域性變數)

return;

functiona(){

alert("abc");

b();

console.log(a); //1(全域性變數) 

上面的例子等價於下面這樣:

varb =functionb(){

vara =functiona(){

alert("abc");

console.log(a);

a = 10;

console.log(a);

a = 11;

console.log(a);

return;

vara;

a = 1;

b();

console.log(a);

不知道寫的這點東西對大家有沒有一點幫助呢?

js變數提公升機制

宣告 declare var a function sum 預設值undefined 定義 defined a 12 定義其實就是賦值操作 變數提公升階段 帶 var 的只宣告未定義 帶 function 的宣告 和賦值都完成了。變數提公升只發生在當前作用域 例如 開始載入頁面的時候,只對全域性作用...

js函式 變數提公升 hoisting

其實我只是想複習下變數提公升的,然後看到了函式提公升,然後再看到了函式宣告 函式表示式.有必要懷著敬仰之心提及園子裡的tom大叔的解密命名函式表示式,不愧是大叔,好好地腦補了下基礎知識.在ecmascript中,建立函式的最常用的兩個方法是函式表示式和函式宣告,兩者期間的區別是有點暈,因為ecma規...

關於js的各種變數提公升機制

js中,傳統宣告變數是var function es6中是let const import。今天說一下前四種的異同。let 和 const letconst都是宣告乙個變數,但是const宣告的變數不允許指標重新指向,且const宣告的時候必須賦值,否則會報錯。變數賦值本質上就是乙個指標指向的過程。...