JS進階 十——變數提升與函式提升
阿新 • • 發佈:2021-02-16
技術標籤:Javascriptjavascriptjs變數提升函式提升面試題
1.變數提升
* 通過var定義(宣告)的變數, 在定義語句之前就可以訪問到
* 值: undefined
2.函式提升
* 通過function宣告的函式, 在之前就可以直接呼叫
* 值: 函式定義(物件)
console.log('-----')
/*
面試題 : 輸出 undefined
*/
var a = 3
function fn () {
console.log(a)
var a = 4
}
fn()
console.log (b) //undefined 變數提升
fn2() //可呼叫 函式提升
// fn3() //不能 變數提升
var b = 3
function fn2() {
console.log('fn2()')
}
var fn3 = function () {
console.log('fn3()')
}
呼叫fn3()
3.面試題
function a() {}
var a
console.log(typeof a)
--> // 'function'
if (!(b in window)) {
var b = 1
}
console.log(b)
-->// undefined
var c = 1
function c(c) {
console.log(c)
var c = 3
}
c(2)