又发现一个 IE8 的问题,在 JavaScript 中类属性名称与关键字重名时

业务系统中出现一个前台 JavaScript 错误,但在本机开发测试时一切正常。多次测试后发现报错的浏览器是 IE8,而本机测试的是 Chrome 和 IE9 却能正常运行。

 

经跟踪调试后发现,错误是在一个自定义类的属性上,这个属性名是:switch,而 switch 又刚好是 JS 的关键字。看来是 IE8 判断错误导致。

 

写个代码测试一下:

   var o = {   true:1  };
   alert(o.true);

果然,只在 IE8 及以下版本中报错,IE9 和其它内核浏览器都可正常运行:弹出消息框,显示1

 

 

虽然是 IE8 的 Bug ,不过用关键字来命名的确是个不好的习惯,一定要改正。

 

 

 

 

备忘备忘!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值