JS函式內宣告變數常見錯誤

2021-09-02 10:21:10 字數 538 閱讀 1502

在函式裡宣告變數對var關鍵字認識不深刻,這裡就函式裡宣告變數的一些示例。

一、函式內使用var關鍵字宣告變數

這種情況通常是宣告的函式作為區域性變數,即函式外不能使用

function aa()

aa();

// 函式外使用變數

alert(str); // 報錯:沒有宣告str變數

二、函式內不使用var關鍵字宣告變數

這種情況下,即是宣告全域性變數,整個指令碼任何地方都可以使用

function aa()

aa();

// 函式外使用變數

alert(str); // out : 部落格

三、乙個常見的錯誤

// 宣告全域性變數

var str = '部落格';

function aa(str)

aa();

// 再次使用變數,值未變

alert(str); // out : 部落格

JS變數宣告和函式宣告提公升

很多時候,在直覺上,我們都會認為js 在執行時都是自上而下一行一行執行的,但是實際上,有一種情況會導致這個假設是錯誤的。a 2 var a console.log a 按照傳統眼光,console.log a 輸出的應該是undefined,因為var a在a 2之後。但是,輸出的是2。再看第二段 ...

js變數宣告

var a 向系統要個空間 var 是個關鍵字,變數宣告只有var var a 10 這裡發生兩個過程,乙個是向系統要個空間,另乙個是把10放進房間。並且先發生第一步。var a 10 a 20 20的值把10的值覆蓋 var a,b,c,e 可以同時宣告多個變數,中間以,號 程式設計都是英文狀態 ...

js 變數 函式宣告提前問題

1 變數宣告提前 看 function 以上 報錯 referenceerror a is not defined,這很好理解 根本就沒宣告當然報錯啦,往下看 function 以上 對於直譯器來說是下面這樣的,所以沒有報錯,且輸出了undefined function 再來看一中情況 functi...