var和function谁先优先执行_变量var声明和函数function声明优先级
變量聲明優先級
使用var關鍵字和function關鍵字聲明的變量,會被JS的解釋器優先解析執行,具有優先級
使用var關鍵字聲明變量
1. 看代碼說話
// 在script中直接打印輸出變量a
console.log(a); // Uncaught ReferenceError: a is not defined
2. 看代碼說話
console.log(a); // 此處輸出 undefined
var a = 20; // 賦值操作
console.log(a); // 此處輸出 20
PS:如果兩道問題都OK,請下一頁!答錯的小伙伴請看開眼!
// 當程序來執行時,首先var關鍵字聲明變量優先執行,進行變量聲明,卻沒有進行賦值
console.log(a); // 變量a已經聲明,但是沒有賦值
var a = 20; // 此處變量a已經進行賦值操作了
console.log(a); // 20
使用function關鍵字聲明函數
function 關鍵字聲明的函數會被優先執行
1. 看代碼說話
// 輸出變量
var test = 10;
// 定義函數
function test () {
console.log('木木噠..')
}
// 調用函數
test();
// 以上代碼在執行時會發生情況?
// 頁面顯示錯誤, test is not a function
PS: 小伙伴們,來開眼!
以上代碼執行過程:
1. 執行var test變量的聲明
2. function關鍵字聲明的函數生效,此刻test是一個function
3. 順序執行程序,對test進行賦值 test = 10, 類型變為 number
4. 當調用test函數時,此刻test已經是number類型了,所以發生錯誤
總結
以上是生活随笔為你收集整理的var和function谁先优先执行_变量var声明和函数function声明优先级的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: pycharm导入模块不智能显示_Pyc
- 下一篇: 【LeetCode笔记】22.括号生成(