JavaScript名词shim与polyfill
在JavaScript的世界里,有两个词经常被提到,shim和polyfill.它们指的都是什么,又有什么区别?一个shim是一个库,它将一个新的API引入到一个旧的环境中,而且仅靠旧环境中已有的手段实现一个polyfill就是一个用在浏览器API上的shim.我们通常的做法是先检查当前浏览器是否支持某个API,如果不支持的话就加载对应的polyfill.然后新旧浏览器就都可以使用这个API了.术语polyfill来自于一个家装产品Polyfilla: Polyfilla是一个英国产品,在美国称之为Spackling Paste(译者注:刮墙的,在中国称为腻子).记住这一点就行:把旧的浏览器想象成为一面有了裂缝的墙.这些[polyfills]会帮助我们把这面墙的裂缝抹平,还我们一个更好的光滑的墙壁(浏览器)Paul Irish发布过一个Polyfills的总结页面“HTML5 Cross Browser Polyfills”.es5-shim是一个shim(而不是polyfill)的例子,它在ECMAScript 3的引擎上实现了ECMAScript 5的新特性,而且在Node.js上和在浏览器上有完全相同的表现(译者注:因为它能在Node.js上使用,不光浏览器上,所以它不是polyfill).
JavaScript名词shim与polyfill相关推荐
- shim和polyfill有什么区别?
为什么80%的码农都做不了架构师?>>> 在JavaScript的世界里,有两个词经常被提到,shim和polyfill.它们指的都是什么,又有什么区别? 1.Shim 一个s ...
- shim和polyfill的区别,重点是Polyfill的作用和使用
在JavaScript的世界里,有两个词经常被提到,shim和polyfill.它们指的都是什么,又有什么区别? 一个shim是一个库,它将一个新的API引入到一个旧的环境中,而且仅靠旧环境中已有的手 ...
- shim和polyfill的区别,重点是Polyfill的作用和使用。
在JavaScript的世界里,有两个词经常被提到,shim和polyfill.它们指的都是什么,又有什么区别? 一个shim是一个库,它将一个新的API引入到一个旧的环境中,而且仅靠旧环境中已有的手 ...
- 【概念集锦】之 shim和polyfill
shim 是一个小的类库(lib),提供独立的API,以弥补人们在不同的环境下使用原生语言需要考虑兼容性的问题. 比如:使用js原生Ajax操作时,你用 XMLHttpRequest 创建xhr对象, ...
- 前端“黑话”polyfill
前言 在Web前端开发这个日新月异的时代,总是需要阅读一些最新的英文技术博客来跟上技术的发展的潮流.而有时候会遇到一些比较高频的"黑话",在社区里面可能已经是人人皆知的" ...
- 一般人不清楚的JavaScript概念
注:以下部分代码或术语涉及ECMAScript 6. 1. literal literal(字面量)即开发者写的,可直接被解析器识别,不必显式依赖API创建的量.如: 数字literal:123, 0 ...
- 你不知道的JavaScript(ES6与之未来)
你不知道的JS(下卷)ES6与之未来 第一章:ES的今与明 在你想深入这本书之前,你应该对(在读此书时)JavaScript的最近标准掌握熟练,也就是ES5(专业来说是ES 5.1).在此,我们决定全 ...
- babel 编译vue_如何对代码进行未来验证:使用Babel polyfills编译JavaScript VS
babel 编译vue A compiler like Babel will almost certainly be a foundational tool in building JavaScrip ...
- polyfill了解吗?
[问]polyfill了解吗? [答]:Polyfill是指给旧浏览器提供向后兼容的新特性,比如让旧版IE,也支持object.assign方法等.和此相关的概念还有shim, 是指抽象出一层API来 ...
- 近几年前端技术盘点以及 2016 年技术发展方向
近几年前端技术盘点以及 2016 年技术发展方向 Web 发展了几十个春秋,风起云涌,千变万化.我很庆幸自己没有完整地经历过这些年头,而是站在前人的肩膀上行走.Web 技术发展的速度让人感觉那几乎不是 ...
最新文章
- oracle rac ora 12537,解决11gR2 Rac ORA-12537: TNS:connection closed 一例
- 基于i.MX RT1060的可编程视觉模块
- tensorflow LSTM
- 如何向新手程序员介绍编程?
- Oracle导入导出数据
- Cookie和Session实现保存登录状态免登录
- 云服务器有什么好 能让云大佬们竞争如此激烈
- 从Spring到Java EE 6
- 信息学奥赛一本通(1407:笨小猴)
- 控制台修改应用端口_应用架构六边型架构:三个原则和一个实现示例
- ThinkPHP基础
- 中孚保密检查客户端 完全卸载_保密检查工具 中孚保密检查清除工具
- 高阶的Parser:可变运算优先级
- 杭州电子科技大学第三届网络攻防大赛初赛题目
- 厦门电子地图,厦门市地图,厦门地图查询,公交线路查询地图
- C++提高编程——模板
- 客户成功的起源——SaaS(软件即服务)
- 废物利用--旧手机搭建linux服务器
- 管理人员巡店用表-主管每日工作流程
- 基于石墨烯的光电探测传感器研究
热门文章
- html怎么用css文件怎么打开,css文件用什么打开?
- 密码分析(二):线性密码分析
- graphpad prism怎么添加图例_如何用Graphpad prism添加多个图例
- 网站优化策略有哪几种方法
- exynos 4412 电源管理芯片PMIC 的配置及使用方法
- Migration——迁移
- json 转 实体对象 报解析错误
- 使用 Wowza IDE 开发第一个 Wowza 服务器扩展应用 -- 监控直播频道
- LiveNVR安防监控直播中无插件web直播方案中实现快照抓取的功能
- d3dx9_43.dll如何修复?计算机中丢失d3dx9_43.dll的解决办法