JavaScript

js函数变量的作用域

2019-07-29  本文已影响0人  Aniugel

要点

1、作用域:就是变量声明的区域,就是变量和函数可访问的范围。在全局声明的变量为全局变量,在函数内部声明的变量为局部变量,只有在函数内部才可以访问(在函数内部没有声明或者声明的时候没有带var就是全局变量,有全局作用域。特殊除外:如下)

function(){
  a=100;//是全局变量
}
var a=b=c=0;//bc是全局变量 a是局部变量
var a=0,b=0,c=0//三者都是局部变量

2、js var 没有块级作用域(es6 let 有),只有函数作用域和全局作用域,for循环内部的变量是函数级别的作用域。

// 两者一样
    var i = 0;
    for (; i < 10;) {
        console.log(i)
        i++
    }
    console.log('–––––––––––––––')
    for (var i = 0; i < 10; i++) {
        console.log(i)
    }
image.png

3、全局作用域的变量可以在js任何地方调用,函数作用域的变量只能在函数内部调用,包括自己内部定义的其他函数都可以直接调用

image.png
image.png

4、变量的作用域是以它声明为准,因为变量的作用域在js代码的解析阶段就已经完成规则的制定

上一篇下一篇

猜你喜欢

热点阅读