4.2变量的作用域,let,const详解

4.2变量的作用域

在javascript中定义的实际变量是有作用域的

1.在函数体内声明在函数体外不能使用(可以通过闭包实现)

function dzj(){
            var x=1;
            x=x+1;
        }
        x=x+2;//Uncaught ReferenceError: x is not defined

2.如果两个函数使用了相同的变量名,变量只要在函数内部就不冲突

function dzj(){
            var x=1;
            x=x+1;
        }
function dzj1(){
            var x=1;
            x=x+1;
        }

 

3.内部函数可以访问外部函数的成员,反之则不行

function dzj(){
    var x=1;
    //内部函数可以访问外部函数的成员,反之则不行
    function dzj1(){
        var y=x+1;
    }
    var z=y+1;
}

4.内外相同变量名时内部用内部外部用外部,由内向外查找

function dzj(){
    var x=1;
    function dzj1(){
        var x=2;
        console.log(x);
    }
    console.log(x);
    dzj1();
}

5.提升变量的作用域

6.减少使用相同的全局变量的冲突

将自己写的代码放入自己写的空间中

var DZJ={};
        DZJ.name='dzj';
        DZJ.f=function(a,b){
            return a+b;
        }

7.局部作用域let

for(var i=0;i<100;i++){
            console.log(i)
        }
        console.log(i);//i出了作用域还能用

用let可以解决

8.常量const定义

const PI='3.14'

 

posted @ 2022-07-28 21:14  吾辈皆喜黑丝  阅读(67)  评论(0)    收藏  举报