js全局变量和局部变量

1 <script>
2 var i = 'yuanjianhang';
3  function myloveName() {
4     alert(i);  
5     var  i = 'guanxi';
6 
7  }
8  myloveName();
9 </script>

运行结果 undefined

1 <script>
2 var i = 'yuanjianhang';
3  function myloveName() {
4    var  i = 'guanxi';
5     alert(i);  
6  }
7  myloveName();
8 </script>

运行结果  guanxi

代码分析  function内 加上var 代表局部变量,声明的局部变量名称和外部的全局变量名称相同,但是与外部的i是没有关系的,只是名称相同而已,所以alert(i)在,局部变量定义之前会输出undefined.

1 <script>
2 var i = 'yuanjianhang';
3  function myloveName() {
4     alert(i);  
5     i = 'guanxi';
6 
7  }
8  myloveName();
9 </script>

运行结果  yuanjianhang

1 <script>
2 var i = 'yuanjianhang';
3  function myloveName() {
4     
5     i = 'guanxi';
6     alert(i);  
7  }
8  myloveName();
9 </script>

运行结果  guanxi

代码分析 function内i没加var 代表全局变量,所以alert(i)在变量赋值之前,输出yuanjianhang

1 <script>
2  i = 'yuanjianhang';
3  function myloveName() {
4     a = 'guanxi';
5  }
6  myloveName();
7 alert(a);
8 //document.write(a);
9 </script>

运行结果  guanxi  代码分析a为全局变量

PS:全局变量可以不声明var 函数内变量必须声明var,在定义全局变量时加或不加var关键字没什么影响;但在定义局部变量时如果不加var关键字javascript解释程序会将其解释为全局变量。

转载于:https://www.cnblogs.com/hym-pcitc/p/6088667.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值