search

Home  >  Q&A  >  body text

javascript - 关于ECMAscript兼容性的问题

想请教一下 ES5 ES6他们在国内浏览器的兼容性问题,现在在看javascript权威指南,有些方法确实对之前的方法有封装过人之处,但是兼容性是否存在问题,在平时写代码的过程中是不是要实际考虑这些问题,否则岂不是有些方法看着有用其实用起来就给你报一个undefine的问题那就悲剧了。

PHPzPHPz2902 days ago391

reply all(3)I'll reply

  • ringa_lee

    ringa_lee2017-04-10 15:05:42

    1.一种解决方法是写polyfill,判断浏览器是否实现了这种方法,如果没有,你自己实现一个。比如IE8没有实现Array.prototype.indexOf,你可以在MDN的文档中查找到相应的polyfill实现(传送门)

    大概是这个样子:

    if (!Array.prototype.indexOf) {
      Array.prototype.indexOf = function(searchElement, fromIndex) {
        //你的实现...
      }
    }
    

    2.使用类似Babel的编译器,它可以将你的ES6的代码编译成ES5版本的JS代码。ES5的标准现在算是比较普遍了,如果有些坑,还是依靠第一种方法,通过实现polyfill来填坑。

    reply
    0
  • PHPz

    PHPz2017-04-10 15:05:42

    https://developer.mozilla.org/zh-CN/

    mozilla开发者社区,搜索你想查看的原生方法,不仅会在下面列出浏览器兼容版本以及ECMAScript版本,而且还提供polyfill.

    reply
    0
  • 巴扎黑

    巴扎黑2017-04-10 15:05:42

    es5 应该是没问题的 我用的时候没有考虑过兼容性问题 或者说我们公司做网站的时候 压根就不考虑老的浏览器了

    reply
    0
  • Cancelreply