js中的全局作用域和局部的作用域

全局作用域

1.全局作用域:全局作用域中有一个全局对象window ,它代表的是一个浏览器的窗口,它由浏览器创建我们可以直接使用,
2.在全局作用域中:创建的变量都会作为window对象的属性保存,创建的函数都会作为window对象在方法保存
3.全局作用域中的变量都是全局变量 ,在页面的任意的部分都可以访问到

 var a = 10;
 var b = 20;
 function fu() {
            console.log("我是fu函数"+a)
            console.log(b) //全局定义的变量在任何部分访问到
        }
   window.fu(); //把函数fu()当做windoW的方法调用了

局部作用域(函数作用域)

1.调用函数时创建函数作用域,函数执行完毕以后,函数作用域销毁
2.调用一次函数就会创建一个新的函数作用域,他们之前是相互独立的
3.在函数作用域操作一个变量时,它会先在自身的作用域中寻找,如果有就直接使用,如果没有则向上一个作用域中寻找,直到找到全局作用域,如果全局作用域中依然没有找到,则会报错erfrernceERROR
4.在函数中访问全局变量可以使用window.对象

 var j ="周杰伦"
 function getBox() {
            var a = "我是getBox函数里面的变量a"
            var b = "我是getBox函数里面的变量b"
            function getBox2() {
                var b = "我是getBox2函数里面的变量b"
                var c = "我是getBox2函数里面的变量c"
                console.log(a) //我是getBox函数里面的变量a
                console.log(b) //我是getBox2函数里面的变量b
                console.log(c) //我是getBox2函数里面的变量c
                console.log(window.j) //周杰伦
            }
            getBox2()
        }
        getBox()

你可能感兴趣的:(javascript,javascript,前端,开发语言)