Javascriptの変数アップと関数アップ
9962 ワード
Javascriptの変数アップと関数アップ
JavaScriptがコードを実行する過程では、上から下へコードを実行します.コードを実行する前に、変数のリフティングや関数の向上などの前処理プロセスがあります.
一、変数の昇格
私たちは通常次のコードに出会います.
関数のアップグレードを知る前に、関数宣言のいくつかの方法を知っておく必要があります.
例:
(1)変数の昇格
参考: JavaScript解析器、プレ解析、変数アップ、関数アップ
JavaScriptがコードを実行する過程では、上から下へコードを実行します.コードを実行する前に、変数のリフティングや関数の向上などの前処理プロセスがあります.
一、変数の昇格
私たちは通常次のコードに出会います.
console.log(a); // :undefined
var a="mr gao";
console.log(a);// :mr gao
function demo(){
console.log(a);// :undefined
var a="demo";
console.log(a);// :demo
}
demo();
実はjavascriptは前処理過程の時に声明の変数を対応する作用領域のトップに引き上げます.したがって、上記のコードは以下のようになります.
var a; // , , 。
console.log(a); // :undefined
a="mr gao";
console.log(a);// :mr gao
function demo(){
var a;
console.log(a);// :undefined
a="demo";
console.log(a);// :demo
}
demo();
二、関数アップ関数のアップグレードを知る前に、関数宣言のいくつかの方法を知っておく必要があります.
//1:
function funName(){
}
//2:
}
var funName=function(){
}
//3:
var funcName=new Function();
関数宣言のみが関数のスコープの向上を使用します.例:
(1)変数の昇格
demo();// :undefined
var age=20;//
function demo() {
console.log(age);//undefined
var age=30;
}
//
var age;
function demo() {
var age;
console.log(age);
age=30;
}
demo();
age=20;
(2)同じ関数名変数の昇格
function demo(){
console.log(" ")
}
demo();
function demo(){
console.log(" ")
}
demo();
// :
// :
function demo(){// demo , demo , demo
console.log(" ")
}
demo()// demo
demo()// demo
(3)関数名と変数名の競合:関数名優先度が高い(関数優先)
console.log(demo);
var demo=" ";
function demo (){
console.log(" ");
}
// :
ƒ demo(){
console.log(" ");
}
原文をご覧ください.もっと多くの文章をクリックしてください.参考: