JS学习46:不同script导致IE8以下全局变量引用断开

1、引用全局变量

假设,我们之前在某个脚本里定义了一个全局变量a,那么在另外一个后续脚本里引用这个全局变量a,保守做法是:

 
 
  1. // script 1
  2. window.a = 1;
  3. // script 2
  4. var a = window.a || '1';

2、IE8以下的全局变量引用

看例子:

 
 
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4.   <meta charset="UTF-8">
  5. </head>
  6. <body>
  7. <script>
  8.   window.a = 1;
  9.   window.b = 2;
  10. </script>
  11. <script>
  12.   window.c = 3;
  13.   window.d = 4;
  14.   
  15.   var b = window.b || 22;
  16.   var d = window.d || 44;
  17.   
  18.   alert(a);
  19.   alert(b);
  20.   alert(c);
  21.   alert(d);
  22. </script>
  23. </body>
  24. </html>

在IE8及以下浏览器中,弹出的值分别为1、22、3、4,而在标准浏览器中弹出的值分别为1、2、3、4。从示例可以看出,不同的script标签会导致全局变量不能正常被引用赋值,而直接引用是可以的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值