在项目中,经常会看到为String、Array等对象添加方法的例子,这确实方面了使用。不过却存在潜在的危险。
因为在现有的ES标准中没有的方法,可能会在之后的ES标准中出现。因此,如果之后在ES标准中出现了现在定义的方法,但实现方式或效果不同的话,将会陷入混乱。
有一种防守型的用户,以定义getElementByClassName为例:
if(!documnet.getElementByClassName){
document.getElementByClassName = function(classes){
}
}