记录前端开发学习与积累

常见pollyfills

本文于458天之前发表,文中内容可能已经过时。如有疑问,欢迎在github中给我留言(用户名:zhangyan123)。

常见内建对象扩展项

讨论:基于相关内建原型来增加自定义方法这种技术,最常用且最能被接受的例子,是实现让老式浏览器支持新功能,而且应该是已经被ECMAScript委员会标准化了的,为现代浏览器所实现的新功能,例如让老版IE支持ES5中的方法,这种扩展叫做shims或者pollyfills.
注:使用自定义方法扩展内建对象原型时,一定要检查该方法是否已经存在,不存在情况下才扩展此方法。
下面罗列几个常见pollyfills:

  • trim()
    1
    2
    3
    4
    5
    if(typeof String.prototype.trim !=='function'){
    String.prototype.trim = function(){
    return this.replace(/^\s+|\s+$/g,'');
    };
    }
  • create()

    1
    2
    3
    4
    5
    6
    7
    8
    if(typeof Object.create !== 'function'){
    Object.create = function(o){
    var F =function(){};
    F.prototype=o;
    return new F();
    }
    }
  • isArray()
    if(typeof Array.isArray !== ‘function’){
    Array.isArray = function(o){
    if(Object.prototype.toString.call(o)=== “[object Array]”){
    return true;
    }else{
    return false;
    }
    }
    }

初识Promise

  1. 1. 常见内建对象扩展项