1、作用域:

指一个变量它在哪些代码范围能够被使用,这些地方就是变量的作用域

JS中的两种作用域:

1.全局作用域。2.函数作用域

 

2、在es5中 函数的代码块内部的代码 可以访问形参变量  也可以访问外部的变量(全局) 就近优先

 

3、函数外面的代码不能直接访问函数内部的变量

 

例:

a = 100
        console.log(a)


        // 局部变量就是函数内部能使用 外部不能使用的变量( var,形参)
        function fn(a) {
            var b = 20
            console.log(a, b)
        }
        fn(100)

        console.log(a)
        console.log(b)

结果:

javascript变量作用域 如何理解js变量的作用域_局部变量

 

 

例2:

var obj = {
            name: "karen";
        };
        function fn(n) {
            //隐式操作 var n=内存中的数那个传入的对象
            //n.name="jack"  其实没有修改n的值
            n = {
                name: "jack";
            }     //改变n的值
        }
        fn(obj);     //obj取值操作 取的是一个引用的对象
        console.log(obj.name);  //karen