首页
IT培训常见问题
企业资讯
学员活动
师资团队
图书教材
发布 : Web前端培训 发布时间:2021-08-25 10:32:17
在es5中变量作用域分为两种:全局变量,局部变量;
作用域说明:指一个变量的作用范围
局部变量:写在函数体内部,其中函数中所传递的参数也是局部变量(小括号中的),仅在定义的部分能够使用;
全局变量:写在函数体外部的变量,其中在函数中使用但未用var声明的变量也是全局变量,可以在全局中任何部分使用;
全局变量
(1)直接声明
- var a = 10;
- console.log(a) // 10
(2)在{ }中声明
- var b=4;
- if(b>5){
- var c=9;
- }else{
- console.log(b) // 4
- }
- console.log(c) // undefined
- <P>提升后P>
- var b=4;
- var c;
- if(b>5){
- c=9;
- }else{
- console.log(b) // 4
- }
- console.log(c) // undefined
(3)在函数体中使用但并未声明
- function demo(){
- a = 10;
- }
- console.log(a); // 报错
- demo();
- console.log(a); // 10
- <P>相当于:P>
- var a;
- function demo(){
- a = 10;
- }
- console.log(a); // undefined
- demo();
- console.log(a); // 10
局部变量
局部变量仅仅在声明的部位能够调用,其他位置不能访问。
(1)在函数体内部声明
- function demo(){
- var a = 10;
- console.log(a) // 10
- }
- console.log(a); // 报错
- demo();
- console.log(a); // 报错
(2)在函数体内部声明中的参数
- function demo(a){
- a = 10;
- console.log(a) // 10
- }
- console.log(a); // 报错
- demo();
- console.log(a); // 报错
在 JavaScript 中有两种作用域类型:
局部作用域
全局作用域
咨询还可获得
对应免费课程