JSの関数アップと変数アップ
5278 ワード
変数の昇格と関数の昇格:変数宣言または関数のすべてのコードを現在のスコープ(グローバルスコープまたは関数スコープ)の最初の部分に引き上げます.
JavaScriptの関数ドメインは最小ドメイン範囲です.forループ、whileループ、if文、switch文の「{}」は作用領域ではありません.
注意:ここではES 6の前を指します.
一、変数の昇格
1.指す形式:var variable='昇格'(キーワード'var'が必要です.)
2.昇格の方式:「var variable」を現在の作用領域のトップに上げる;「variable='リフティング'は、もともと定義されていた位置にあります.
3.具体的なコード:
1.関数の昇格とは、形式:function fn(){…};(関数宣言の形式でなければなりません.関数式ではありません.)
2.関数のアップグレードの方式:「function fn(){...」全体の関数宣言コードブロックを現在のスコープのトップに引き上げ、元の位置はこのコードが存在しないようにします.
JavaScriptの関数ドメインは最小ドメイン範囲です.forループ、whileループ、if文、switch文の「{}」は作用領域ではありません.
注意:ここではES 6の前を指します.
一、変数の昇格
1.指す形式:var variable='昇格'(キーワード'var'が必要です.)
2.昇格の方式:「var variable」を現在の作用領域のトップに上げる;「variable='リフティング'は、もともと定義されていた位置にあります.
3.具体的なコード:
console.log(variable);
var variable = ' ';
console.log(variable);
function fn (){
console.log(interiorVariable);
var interiorVariable = ' ';
console.log(interiorVariable);
}
fn();
//
/*
var variable; // , , ,
console.log(variable); //undefined
variable = ' '; //
console.log(variable); //
function fn () {
var interiorVariable; // ,
console.log(interiorVariable); //undefined
interiorVariable = ' '; //
console.log(interiorVariable); //
}*/
二、関数アップ1.関数の昇格とは、形式:function fn(){…};(関数宣言の形式でなければなりません.関数式ではありません.)
2.関数のアップグレードの方式:「function fn(){...」全体の関数宣言コードブロックを現在のスコープのトップに引き上げ、元の位置はこのコードが存在しないようにします.
console.log(f1); // ,
f1();
console.log(f2);
function f1(){
console.log(' f1。。。');
}
var f2 = function () {
console.log(' f2。。。');
};
(function () {
console.log('closure');
a = 'aaa';
var a = 'bbb';
console.log(a);
})();
//
/*
function f1(){
console.log(' f1。。。');
}
var f2;
console.log(f1);
f1();
f2 = function(){
console.log(' f2。。。');
}*/
参考文章:https://www.cnblogs.com/kawask/p/6225317.html