IE下诡异的注释报错——条件编译

    昨天QA的同事提了一个bug,在IE下功能不正常,去IE下看了,报xxx行错误,IE还是一如既往的报告不准确的错误行数,于是只要使用人肉回车定位法(加回车之后看IE报的行数是否有变化,如果有变化,说明错误在加回车行的后面,如果没有变化,说明在加回车行的前面),最终定位到一行注释上去,自己看了半天都不知道哪儿错了,还是怀疑附近代码的错误导致的,于是乎使用人肉加注释定位法(将某个代码块注释,如果错误消失,就说明是该代码行的问题),结果还是定位到这行注释,一怒之下将这行删掉,结果就ok了,想了想这行注释和一般的注释不同之处,才发现这行注释有一个@,于是只删@发现也ok了,给@前加一空格也ok,这时跟我一次查此问题的兄弟一拍大腿:此问题好像见过,我回去查查!果不其然,原来万恶的IE有一个“条件编译”的丑陋功能,提供如C中的#ifdef之类的功能,如果注释符号紧接着@就是一个条件编译的开始,而正好这行注释@后不是“条件编译”的关键字,因此报错,IE真是。。。。。。大家以后一定要小心,不要在注释后直接加@符号,当然在你不是为了“条件编译”的前提下。,

 

关于条件编译,在这里不赘述,可以参考:

 

中文:http://simue.com/blog/css-js/conditional-compilation-of-javascript-in-ie-1.html

英文:http://www.javascriptkit.com/javatutors/conditionalcompile3.shtml

 

 

顺便在g/b的时候发现的IE条件注释,仅供参考:

http://cssrainbow.cn/tutorials/xhtml-css/1130.html

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值