老式浏览器支持新功能

由于通过原型扩展内建对象是一项非常强大的技术,有了它,我们几乎可以随心所欲地重塑JavaScript语言的能力。但也正是它有如此强大的威力,我们在选择使用这项能力时,就必须慎之又慎。

 

原因在于一旦开发者熟悉了JavaScript,那么他无论在使用哪些第三方库或者工具,他都会预期JavaScript内建对象与方法和他的认知相同。一旦修改了内建对象,他们的行为会发生改变,代码的用户与维护者就会觉得困惑,从而导致无法预期的错误。

 

而JavaScript自身也会发展,浏览器厂商支持的功能会越来越多,没准我们今天所缺失的,想通过原型扩展的功能,明天就会出现在内建方法中。在这种情况下,我们的设计方法就不被需要了。

 

其实,对基于相关内建对象来增加自定义方法这种技术来说,最常用且最能被接受的例子,是实现让老浏览器支持新功能,而且应该是被ECMAScript委员会标准化了的,为现代浏览器所实现的新功能。例如让旧版IE支持ES5中的方法。我们通常把这种扩展叫做shims或者polyfills

转载于:https://www.cnblogs.com/WaTa/p/5584288.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值