JavaScript学习笔记(五)作用域

  • 作用域就是变量在某个范围内起作用和效果
  • js作用域(es6)之前:全局作用域、局部作用域
  • 全局作用域:整个script标签,或者是一个单独的js文件
  • 局部作用域:函数内部,在函数内部起效果和作用
  • js没有块级作用域

一、全局变量

1. 在全局声明的变量

2. *特殊:在函数内部,未声明的

        var num = 10  //num是一个全局变量
        function fn(){
            console.log(num)
        }
        fn()
        function fn2(){
            var num1 = 10 //局部变量
            num2 = 20      //全局变量
        }
        fn2()
        // console.log(num1)
        console.log(num2)

二、块级作用域

js在es6新增了块级作用域

        //块级作用域

        //在java中

        if(**){

            int num = 10;

        }

       // 外面的是不能调用num的

但是js里可以 

if(5>3){

            var num = 10;

        }

        console.log(num)

三、作用域链

 就近原则:如下代码输出为20

        //作用域链
        //console.log('作用域链')
        var num = 10
        function fn(){
            var num = 20
            function fun(){
                console.log(num)
            }
            fun()
        }
        console.log('ss');
        fn()

猜你喜欢

转载自blog.csdn.net/weixin_44400887/article/details/123905659