一道關於js宣告變數,var和let的面試題

2022-06-03 04:09:07 字數 432 閱讀 3567

1

function

aa(flag) else9//

此處訪問 test 值為 undefined10}

11 aa(false

);12

13//

結果 undefined test被宣告了 但是沒有被賦值

總結: 用var宣告變數時,變數提公升到函式最頂部或全域性最頂部。

1

function

aa(flag) else7}

8 aa(false);9

10//

結果 js執行報錯 test is not defined test沒有被宣告

總結: es6語法的let宣告變數時,只在{} **塊中被宣告,所以在相應**塊之外引用,會執行報錯。

JS中用var宣告變數和不用var宣告變數的區別

閱前須知 作用域 分為全域性和區域性 函式會開闢自己的作用域 或 空間 或 過程級 變數宣告 變數在指令碼中的第一次出現是在宣告中。變數在第一次用到時就設定於記憶體中,便於後來在指令碼中引用。使用變數之前先進行宣告。可以使用 var 關鍵字來進行變數宣告。var count 單個宣告。var cou...

JS中用var宣告變數和不用的區別

在js中宣告變數時用var和不用var有什麼區別,我查閱了很多的資料和書籍再加上我自己的理解來講述一下我自己的看法。在函式內部宣告變數 在函式內部如果用var宣告變數和不用時有很大差別,用var宣告的是區域性變數,在函式外部訪問這個變數是訪問不到的,沒var宣告的是全域性變數。在函式外部是可以訪問到...

一道面試題 變數宣告提公升

問列印結果 var getname function function getname console.log getname 結果是 4 其實這道題可以翻譯成 var getname function getname getname function console.log getname 4 把...