`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.
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
Activiti 5.22.0版本Demo代码 (300个子文件)
CHANGES 3KB
bootstrap.css 118KB
bootstrap.min.css 98KB
style-common.css 25KB
bootstrap-theme.css 15KB
bootstrap-theme.min.css 13KB
style-editor.css 10KB
style.css 8KB
ng-grid-2.0.7.min.css 7KB
daterangepicker-bs3.css 5KB
editor.css 3KB
style.css 2KB
jasmine.css 2KB
glyphicons-halflings-regular.eot 20KB
glyphicons-halflings-regular.eot 20KB
activiti-admin-webfont.eot 5KB
loading.gif 17KB
nw-handle-dark.gif 839B
se-handle-dark.gif 838B
.gitignore 23B
event-listeners-popup.html 10KB
form-properties-popup.html 9KB
modeler.html 8KB
execution-listeners-popup.html 8KB
editor.html 8KB
task-listeners-popup.html 7KB
index.html 5KB
fields-popup.html 4KB
out-parameters-popup.html 3KB
in-parameters-popup.html 3KB
signal-definitions-popup.html 3KB
assignment-popup.html 3KB
message-definitions-popup.html 2KB
subprocess-reference-popup.html 2KB
sequenceflow-order-popup.html 2KB
save-model.html 2KB
index.html 2KB
index.min.html 2KB
condition-expression-popup.html 1KB
stencil-item-template.html 1012B
unsaved-changes.html 977B
select-shape.html 811B
feedback-popup.html 798B
assignment-display-template.html 796B
text-popup.html 713B
root-stencil-item-template.html 463B
message-property-write-template.html 275B
signal-property-write-template.html 268B
string-property-write-mode-template.html 239B
multiinstance-property-write-template.html 232B
default-value-display-template.html 231B
execution-listeners-display-template.html 209B
event-listeners-display-template.html 197B
form-properties-display-template.html 195B
out-parameters-display-template.html 192B
task-listeners-display-template.html 192B
in-parameters-display-template.html 189B
message-definitions-display-template.html 189B
signal-definitions-display-template.html 188B
fields-display-template.html 173B
condition-expression-display-template.html 173B
subprocess-reference-display-template.html 172B
subprocess-reference-write-template.html 170B
sequenceflow-order-display-template.html 169B
signal-definitions-write-template.html 161B
condition-expression-write-template.html 161B
message-definitions-write-template.html 161B
execution-listeners-write-template.html 160B
sequenceflow-order-write-template.html 159B
form-properties-write-template.html 156B
event-listeners-write-template.html 156B
out-parameters-write-template.html 155B
task-listeners-write-template.html 155B
text-property-write-template.html 154B
in-parameters-write-template.html 154B
assignment-write-template.html 152B
fields-write-template.html 148B
boolean-property-template.html 136B
icon-template.html 120B
BaseProcessDefinitionDiagramLayoutResource.java 22KB
ProcessInstanceHighlightsResource.java 10KB
ModelSaveRestResource.java 4KB
RestServiceController.java 3KB
ModelEditorJsonRestResource.java 3KB
StencilsetRestResource.java 2KB
ProcessDefinitionDiagramLayoutResource.java 1KB
ProcessInstanceDiagramLayoutResource.java 1KB
ModelController.java 454B
oryx.debug.js 737KB
oryx.js 335KB
jquery.js 267KB
jquery.js 242KB
raphael_uncompressed.js 216KB
angular.min.js 99KB
jquery.min.js 94KB
prototype-1.5.1.js 94KB
raphael.js 89KB
raphael.2.1.1.js 89KB
jquery-ui-1.10.3.custom.min.js 81KB
ProcessDiagramCanvas.js 74KB
共 300 条
- 1
- 2
- 3
资源评论
- chutao2018-04-12帮同事下载的,反映很不错
iKun技术记录
- 粉丝: 146
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功