为原生对象添加方法的潜在危险

在项目中,经常会看到为String、Array等对象添加方法的例子,这确实方面了使用。不过却存在潜在的危险。

因为在现有的ES标准中没有的方法,可能会在之后的ES标准中出现。因此,如果之后在ES标准中出现了现在定义的方法,但实现方式或效果不同的话,将会陷入混乱。

有一种防守型的用户,以定义getElementByClassName为例:

if(!documnet.getElementByClassName){

  document.getElementByClassName = function(classes){

  }

}

posted @ 2013-10-21 21:34  charling  阅读(184)  评论(0编辑  收藏  举报