`es5-shim.js` and `es5-shim.min.js` monkey-patch a JavaScript context to
contain all EcmaScript 5 methods that can be faithfully emulated with a
legacy JavaScript engine.
`es5-sham.js` and `es5-sham.min.js` monkey-patch other ES5 methods as
closely as possible. For these methods, as closely as possible to ES5
is not very close. Many of these shams are intended only to allow code
to be written to ES5 without causing run-time errors in older engines.
In many cases, this means that these shams cause many ES5 methods to
silently fail. Decide carefully whether this is what you want.
## Tests
The tests are written with the Jasmine BDD test framework.
To run the tests, navigate to <root-folder>/tests/.
In order to run against the shim-code, the tests attempt to kill the current
implementation of the missing methods. This happens in <root-folder>/tests/helpers/h-kill.js.
So in order to run the tests against the built-in methods, invalidate that file somehow
(comment-out, delete the file, delete the script-tag, etc.).
## Shims
### Complete tests ###
* Array.prototype.every
* Array.prototype.filter
* Array.prototype.forEach
* Array.prototype.indexOf
* Array.prototype.lastIndexOf
* Array.prototype.map
* Array.prototype.some
* Array.prototype.reduce
* Array.prototype.reduceRight
* Array.isArray
* Date.now
* Date.prototype.toJSON
* Function.prototype.bind
* /!\ Caveat: the bound function's length is always 0.
* /!\ Caveat: the bound function has a prototype property.
* /!\ Caveat: bound functions do not try too hard to keep you
from manipulating their ``arguments`` and ``caller`` properties.
* /!\ Caveat: bound functions don't have checks in ``call`` and
``apply`` to avoid executing as a constructor.
* Object.keys
* String.prototype.trim
### Untested ###
* Date.parse (for ISO parsing)
* Date.prototype.toISOString
## Shams
* /?\ Object.create
For the case of simply "begetting" an object that
inherits prototypically from another, this should work
fine across legacy engines.
/!\ Object.create(null) will work only in browsers that
support prototype assignment. This creates an object
that does not have any properties inherited from
Object.prototype. It will silently fail otherwise.
/!\ The second argument is passed to
Object.defineProperties which will probably fail
silently.
* /?\ Object.getPrototypeOf
This will return "undefined" in some cases. It uses
__proto__ if it's available. Failing that, it uses
constructor.prototype, which depends on the constructor
property of the object's prototype having not been
replaced. If your object was created like this, it
won't work:
function Foo() {
}
Foo.prototype = {};
Because the prototype reassignment destroys the
constructor property.
This will work for all objects that were created using
`Object.create` implemented with this library.
* /!\ Object.getOwnPropertyNames
This method uses Object.keys, so it will not be accurate
on legacy engines.
* Object.isSealed
Returns "false" in all legacy engines for all objects,
which is conveniently guaranteed to be accurate.
* Object.isFrozen
Returns "false" in all legacy engines for all objects,
which is conveniently guaranteed to be accurate.
* Object.isExtensible
Works like a charm, by trying very hard to extend the
object then redacting the extension.
### Fail silently
* /!\ Object.getOwnPropertyDescriptor
The behavior of this shim does not conform to ES5. It
should probably not be used at this time, until its
behavior has been reviewed and been confirmed to be
useful in legacy engines.
* /!\ Object.defineProperty
This method will silently fail to set "writable",
"enumerable", and "configurable" properties.
Providing a getter or setter with "get" or "set" on a
descriptor will silently fail on engines that lack
"__defineGetter__" and "__defineSetter__", which include
all versions of IE up to version 8 so far.
IE 8 provides a version of this method but it only works
on DOM objects. Thus, the shim will not get installed
and attempts to set "value" properties will fail
silently on non-DOM objects.
https://github.com/kriskowal/es5-shim/issues#issue/5
* /!\ Object.defineProperties
This uses the Object.defineProperty shim
* Object.seal
Silently fails on all legacy engines. This should be
fine unless you are depending on the safety and security
provisions of this method, which you cannot possibly
obtain in legacy engines.
* Object.freeze
Silently fails on all legacy engines. This should be
fine unless you are depending on the safety and security
provisions of this method, which you cannot possibly
obtain in legacy engines.
* Object.preventExtensions
Silently fails on all legacy engines. This should be
fine unless you are depending on the safety and security
provisions of this method, which you cannot possibly
obtain in legacy engines.
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
flowable6.4二次修改 (619个子文件)
CHANGES 3KB
bootstrap.css 118KB
bootstrap.min.css 98KB
bootstrap.min.css 97KB
style.css 63KB
ui-grid.css 52KB
ui-grid.min.css 38KB
style-editor.css 34KB
style.css 25KB
handsontable.full.min.css 22KB
bootstrap-theme.css 15KB
spectrum.css 14KB
bootstrap-theme.min.css 13KB
jquery.qtip.min.css 9KB
nvd3.min.css 8KB
daterangepicker-bs3.css 5KB
qunit.css 5KB
editor.css 4KB
loading-bar.min.css 2KB
jasmine.css 2KB
angular-gridster.min.css 2KB
hotkeys.css 2KB
bootstrap-tour.min.css 2KB
hotkeys.min.css 1KB
style-retina.css 856B
displaymodel.css 484B
displaymodel.css 476B
fontawesome-webfont.eot 59KB
lato-bold-webfont.eot 28KB
lato-regular-webfont.eot 28KB
glyphicons-halflings-regular.eot 20KB
glyphicons-halflings-regular.eot 20KB
glyphicons-halflings-regular.eot 20KB
ui-grid.eot 10KB
activiti-admin-webfont.eot 5KB
cherokee-webfont.eot 4KB
tour-dnd.gif 80KB
sequenceflow-bendpoint.gif 72KB
open-group.gif 43KB
loading.gif 17KB
grid.gif 1KB
nw-handle-dark.gif 839B
se-handle-dark.gif 838B
assignment-popup.html 17KB
index.html 16KB
formfield-edit-popover.html 14KB
event-listeners-popup.html 12KB
editor.html 10KB
index.html 10KB
form-properties-popup.html 9KB
app-definition-builder.html 8KB
execution-listeners-popup.html 8KB
app-definition.html 8KB
form-builder.html 7KB
task-listeners-popup.html 7KB
form-builder-element-template.html 7KB
app-definition-save-model.html 6KB
duedate-popup.html 6KB
save-model.html 6KB
app-definitions.html 6KB
decision-tables.html 6KB
decision-table-edit-output-expression.html 6KB
decision-table-edit-input-expression.html 6KB
decisiontable-reference-popup.html 5KB
forms.html 5KB
decision-table.html 5KB
decision-table-editor.html 5KB
processes.html 5KB
casemodels.html 5KB
form-reference-popup.html 5KB
assignment-display-template.html 5KB
data-properties-popup.html 4KB
decision-table-save-model.html 4KB
app-definition-models-included.html 4KB
app-definition-import.html 4KB
app-definitions-import.html 4KB
decision-table-import.html 4KB
process-import.html 4KB
casemodel-import.html 4KB
app-definition-publish.html 4KB
fields-popup.html 4KB
404.html 3KB
select-group-popover.html 3KB
decision-table-edit-hit-policy.html 3KB
process.html 3KB
casemodel.html 3KB
out-parameters-popup.html 3KB
in-parameters-popup.html 3KB
model-delete.html 3KB
form.html 3KB
form-save-model.html 3KB
signal-definitions-popup.html 3KB
case-reference-popup.html 3KB
process-reference-popup.html 2KB
model-edit.html 2KB
define-data.html 2KB
decision-table-duplicate.html 2KB
decision-table-create.html 2KB
message-definitions-popup.html 2KB
model-use-as-new-version.html 2KB
共 619 条
- 1
- 2
- 3
- 4
- 5
- 6
- 7
资源评论
- bm_rainc2021-05-12替换后,发现跑不起来。用的是docker容器。
街网科技
- 粉丝: 1
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 杨辉三角(Pascal's Triangle)是一个在数学中非常著名的数列,它以一种特定的模式排列数字,内容以5种代码实例实现
- yolov5数据集:CT图像肾脏、结石检测(2类别,包含训练集、验证集)
- 电力102规约请求报文实录
- RTL8723 linux+安卓驱动 2020版本
- ISO 26262 道路车辆-功能安全-系统级产品开发
- 数据挖掘期末题 选择填空简答
- EKF在CTRV模型上的建模推导
- 用于:https://laoshifu.blog.csdn.net/article/details/138191428 多层创建
- 电力102规约(电能累计量的传输规约)培训
- 「常用」E9外部流程接口
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功