<script type="text/javascript">
/*
* 变量的作用域:
* * 全局变量:全局域和局部域
* * 局部变量:当前局部域
* * 作用域:全局域和局部域(函数域)
* * 在JavaScript中是不存在类的概念
*/
// //定义一个全局变量
// var a = "a";
//
// function fn(){
// //定义一个局部变量
// var b = "b";
//
// alert(a); //output a
// alert(b); //output b
//
// }
//
// fn();
//
// alert(a); //output a
// alert(b); //output undefind
// /*
// * 在定义局部变量时,不使用"var"修饰符:
// * * 在JavaScript中,定义变量时,可以不使用"var"修饰符
// * * JavaScript语法会,自动将不使用"var"的局部变量,定义为全局变量
// * * 不建议这样使用
// */
// //定义一个全局变量
// var a = "a";
//
// function fn(){
// //定义一个局部变量
// b = "b";
//
// alert(a); //output a
// alert(b); //output b
//
// }
//
// fn();
//
// alert(a); //output a
// alert(b); //output undefind
/*
* 在定义全局变量与局部变量同名时:
* * 在函数体内,只能得到局部变量,不能得到全局变量
* * 函数内的局部变量,在定义函数时,就被定义出来(存在)
*/
/*
* 解读代码执行顺序:
* * 定义一个全局变量a,并初始化为a
* * 定义一个函数fn(),并不执行函数fn()
* * 函数fn()体内的局部变量a,被定义,但没有初始化(存在)
* * 执行函数fn()时:
* * 第一次打印变量a:局部变量a
* * 第二次打印变量a:局部变量a
*/
var a = "a";
function fn(){
alert(a); //output undefind
var a = "b";
alert(a); //output b
}
fn();
alert(a); //output a
/*
* 扩展:
* * 在JavaScript中,定义变量可以不使用"var"
* * 编写JavaScript代码时,尽量遵循编写java代码的习惯
*/
</script>
javascript变量的作用域
最新推荐文章于 2024-07-09 19:28:48 发布