javascript里有关全局变量和局部变量的一些细节
2016-10-12 21:50
288 查看
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> </head> <body> <script type="text/javascript"> var x=1; function calc(){ document.write('函数体内x='+x+'<br />'); var x= 3; document.write('定义局部变量后函数体内x='+x+'<br />'); x=5; } calc(); document.write('函数体外x='+x+'<br />'); </script> </body> </html>
输出结果为:
函数体内x=undefined
定义局部变量后函数体内x=3
函数体外x=1
思考:第一句x=undefined和var x=3相关,如果注释掉var x=3,那么第一句结果是x=1,结论是只要函数里存在同名局部变量,局部变量的优先级一定高于全局变量。为了加深理解,该函数体等价于
<span style="font-size:10px;">function calc(){ var x; document.write('函数体内x='+x+'<br />'); x= 3; document.write('定义局部变量后函数体内x='+x+'<br />'); x=5; }</span>另:一旦函数里出现var x(不论在什么位置),该x即为局部变量,即无法对同名的全局变量产生任何影响。换句话说,如果要在函数里改变全局变量的值,则不能在任何位置出现var 同名变量。
相关文章推荐
- 有关全局变量和局部变量的一个code
- c-c+ 全局变量的一些细节问题
- javascript 局部变量全局变量详解
- javaScript中的全局变量和局部变量;及javaScript函数作用域;
- Javascript:谈谈JS的全局变量跟局部变量
- javascript 用局部变量来代替全局变量第1/2页
- Javascript:谈谈JS的全局变量跟局部变量
- Javascript:谈谈JS的全局变量跟局部变量
- Javascript中的全局变量与局部变量
- Javascript:谈谈JS的全局变量跟局部变量
- JavaScript局部变量与全局变量1
- 认清JavaScript和JAVA全局变量和局部变量的作用域
- javascript中的全局变量和局部变量
- 认清JavaScript和JAVA全局变量和局部变量的作用域
- 有关全局变量与局部变量
- javascript全局变量与局部变量
- javascript 用局部变量来代替全局变量第1/2页
- javascript学习(一): javascript中的局部变量和全局变量
- JavaScript的一些知识碎片(2)-反射-全局变量-回调
- Javascript:谈谈JS的全局变量跟局部变量