作用域是指代码在运行时,可访问的变量、函数、对象的集合。分为局部作用域和全局作用域。
一、局部作用域
变量在函数内声明,只能在函数内部访问。局部变量在函数开始执行时创建,函数执行完后局部变量会自动销毁。
函数参数也是局部变量。
代码演示:
function fn(age){
var fullName = "ducaifeng";
console.log("姓名:"+fullName+",年龄:"+age);
}
fn(30);
console.log(age,fullName);//在函数外面不能访问age,fullName,这样访问会报错
二、全局作用域
变量在函数外定义,即为全局变量,有全局作用域。网页中所有脚本和函数均可访问。
代码演示:
var carName = "Volvo";
function fn(){
console.log(carName);//函数内可用
}
console.log(carName);//此处也可用
注意:如果变量在函数内没有声明(没有使用var关键字定义变量),该变量是全局变量。
代码演示:
console.log("carName:"+window.carName);//carName:undefined
function fn(){
carName = "Volvo";
console.log("carName:"+carName);
}
fn();//carName:Volvo
console.log("carName:"+carName);//carName:Volvo
三、变量的生命周期
变量生命周期在它声明时被初始化。
局部变量在函数执行完后销毁。
全局变量在页面关闭后销毁。
(我有免费的JavaScript学习视频,想要的鞋童们可以加我微信)