JSスコープ

915 ワード

グローバル変数

    var num=10;
    console.log(num);//10


    console.log(num);//10
ローカル変数

    function f1(){
        var num = 10;
    }
    console.log(num); //  
var宣言の変数にはブロックレベルのスコープがありません.let宣言の変数にはブロックレベルのスコープがあります.
{
    var yao1 = 1;
    let yao2 = 2;
    console.log(yao1); //1
    console.log(yao2); //2
}
console.log(yao1); //1
console.log(yao2); //  
隠しグローバル変数

    function f1(){
        num = 10; //      
    }
    f1(); //         ,     
    console.log(num); //10
varグローバル変数は削除できません.
隠しグローバル変数は削除できます.

    var num = 10;
    test = 20;
    delete num;
    delete test;
    console.log(num);
    console.log(test);//