JavaScript 全局变量和局部变量
在任何函数定义之外声明了一个变量,则该变量为全局变量,且该变量的值在整个持续范围内都可以访问和修改。
在函数定义内声明了一个变量,则该变量为局部变量。每次执行该函数时都会创建和破坏该变量;且它不能被该函数外的任何事物访问。【以var申明】
Javascript在执行前会对整个脚本文件的声明部分做完整分析(包括局部变量),从而确定实变量的作用域。
var a =1; function test(){ alert(a); //a为undefined! 这个a并不是全局变量,这是因为在function scope里已经声明了(函数体倒数第4行)一个重名的局部变量, //所以全局变量a被覆盖了,这说明了Javascript在执行前会对整个脚本文件的定义部分做完整分析,所以在函数test()执行前, //函数体中的变量a就被指向内部的局部变量.而不是指向外部的全局变量. 但这时a只有声明,还没赋值,所以输出undefined。 a=4 alert(a); //a为4,没悬念了吧? 这里的a还是局部变量哦! var a; //局部变量a在这行声明 alert(a); //a还是为4,这是因为之前已把4赋给a了 } test(); alert(a); //a为1,这里并不在function内,a的值为全局变量的值
http://blog.csdn.net/zyz511919766/article/details/7276089
相关推荐
Android开发CXY 2020-11-11
yutian0 2020-10-26
PythonMaker 2020-07-05
goodriver 2020-06-17
程序媛一枚 2020-05-26
zhouxihua0 2020-04-15
Leewoxinyiran 2020-03-06
sunskyday 2020-02-01
wyqwilliam 2019-12-13
xcguoyu 2019-12-06
陈希章中国 2010-05-27
宿舍 2019-11-11
yfisaboy 2019-11-07
luckymaoyy 2019-11-06
azhou 2019-11-04
xcguoyu 2019-11-02
georgeandgeorge 2019-11-01
xiaoemo0 2019-10-22