JavaScript之变量的作用域

变量的作用域:
所谓的变量作用域,就是变量的使用范围
每一个变量都有自己的适用范围
作用域分为两种
定义在函数中的变量,称为局部作用域/局部变量
包括函数的参数,定义在函数内部的变量,都成为局部作用域/局部变量
只能在函数内部被调用使用
函数外部不能直接调用使用
只要是在函数外部,调用函数内部的变量,都是报错
定义在函数之外的变量,称为全局作用域/全局变量
在函数内部是可以调用全局作用域变量的,但是是有条件的
函数调用变量,赋值变量的原则
调用变量的原则
会在当前作用域中,找是否有这个变量
如果有,就直接使用这个变量
如果没有,去父级作用域寻找这个变量
如果父级作用域有这个变量,就使用这个变量
如果父级作用域没有这个变量,在向上一层寻找
如果所有的作用域都没有这个变量,执行结果是报错
只会向父级作用域寻找,不会向子集作用域寻找
变量的赋值原则
先在当前作用域中找变量,如果有,就对这个变量进行赋值
如果当前作用域没有这个变量,我们去父级作用域找这个变量然后给它赋值
如果所有作用域中都没有这个变量,这里的赋值语句会升级为声明变量语句
而且定义的是一个全局作用域变量,在函数外部可以直接调用
不会去子集找变量赋值
注:定义变量,一定要写关键词var,不管是全局还是局部

发布了21 篇原创文章 · 获赞 3 · 访问量 326

猜你喜欢

转载自blog.csdn.net/qq_44531034/article/details/104934443