Javascriptの変数アップ、関数アップ、変数アクセスの原則
1662 ワード
1、変数の昇格
変数アップグレードとは?関数内で宣言された変数は、関数の最下端か中間宣言かに関わらず、その変数の宣言を関数の最上端(最初の行に相当)に引き上げますが、変数を引き上げるだけの宣言では、値は与えられません.
関数アップとは?JavaScriptの
JavaScriptにおける変数のアクセス(検索)には原則があります.
変数アップグレードとは?関数内で宣言された変数は、関数の最下端か中間宣言かに関わらず、その変数の宣言を関数の最上端(最初の行に相当)に引き上げますが、変数を引き上げるだけの宣言では、値は与えられません.
var num = 10;
fun(); // undefined
function fun(){
console.log(num);
var num = 20;
}
/* :
function fun(){
var num;
console.log(num);
num = 20;
}
*/
2、関数アップ関数アップとは?JavaScriptの
はvarで作成された変数と同じで、それらの声明が先に声明されます.これにより、JavaScriptの ,
が可能になります.これは関数の向上です.func();
function func(){
alert(“ !”);
}
/*
:
function func(){
alert(“ !”);
}
func();
*/
3、関数と変数が同名の場合の変数の昇格alert(fun); // : fun
function fun(){
alert(“ ”);
}
var fun = “ ”;
alert(fun); // :
/* alert fun , alert “ ”?
var function , ,
, ! */
/*
:
function fun(){
alert(“ ”);
}
alert(fun);
fun = “ ”;
alert(fun);
*/
4、変数検索原則(変数アクセス原則)JavaScriptにおける変数のアクセス(検索)には原則があります.
1)、 ( ) ,
2)、 , ,
3)、 , ,
4)、 ,
var num = 123;
function foo1(){
function foo2(){
console.log(num);
}
/* foo2 , foo2 num , ( foo1) foo1 ,
, ( ) , , */
foo2();
}
5、変数の昇格、変数検索メカニズムの経典面接問題fun();
console.log(b);
console.log(c);
console.log(a);
functoin fun(){
var a = b = c = 9;
console.log(a);
console.log(b);
console.log(c);
}