`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.
没有合适的资源?快使用搜索试试~ 我知道了~
security-enterprise-FrontBackSplit_2.3.0.zip
共934个文件
java:293个
js:138个
css:125个
需积分: 5 1 下载量 96 浏览量
2022-04-12
14:22:06
上传
评论
收藏 16.61MB ZIP 举报
温馨提示
security-enterprise-FrontBackSplit_
资源详情
资源评论
资源推荐
收起资源包目录
security-enterprise-FrontBackSplit_2.3.0.zip (934个子文件)
CHANGES 3KB
index.css 194KB
index.css 194KB
index.css 194KB
index.css 194KB
index.css 194KB
index.css 194KB
index.css 194KB
index.css 194KB
index.css 194KB
index.css 194KB
index.css 194KB
index.css 194KB
index.css 194KB
index.css 194KB
bootstrap.css 124KB
bootstrap.min.css 118KB
bootstrap.min.css 98KB
AdminLTE.min.css 88KB
all-skins.min.css 40KB
font-awesome.min.css 30KB
style-common.css 27KB
date-picker.css 26KB
transfer.css 26KB
col.css 25KB
aui.css 24KB
aui.css 24KB
aui.css 24KB
aui.css 24KB
aui.css 24KB
aui.css 24KB
aui.css 24KB
aui.css 24KB
aui.css 24KB
aui.css 24KB
aui.css 24KB
aui.css 24KB
aui.css 24KB
message-box.css 20KB
time-picker.css 20KB
table.css 19KB
pagination.css 19KB
ui.jqgrid-bootstrap.css 19KB
ui.jqgrid.css 17KB
slider.css 17KB
tabs.css 16KB
bootstrap-theme.css 15KB
select.css 15KB
dropdown.css 14KB
layer.css 14KB
bootstrap-theme.min.css 13KB
time-select.css 13KB
tree.css 13KB
upload.css 12KB
style-editor.css 10KB
button.css 10KB
cascader.css 10KB
table-column.css 10KB
autocomplete.css 10KB
input-number.css 10KB
menu.css 9KB
style.css 9KB
ng-grid-2.0.7.min.css 7KB
base.css 7KB
color-picker.css 7KB
checkbox.css 7KB
input.css 6KB
daterangepicker-bs3.css 6KB
layer.css 5KB
step.css 5KB
collapse.css 5KB
icon.css 4KB
radio.css 3KB
editor.css 3KB
style.css 3KB
form.css 3KB
select-dropdown.css 3KB
dialog.css 3KB
tooltip.css 3KB
style.css 2KB
radio-button.css 2KB
jasmine.css 2KB
popover.css 2KB
carousel.css 2KB
tag.css 2KB
message.css 2KB
progress.css 2KB
switch.css 2KB
loading.css 2KB
notification.css 2KB
popper.css 2KB
alert.css 1KB
main.css 1KB
carousel-item.css 1024B
scrollbar.css 1023B
breadcrumb.css 1009B
display.css 994B
spinner.css 883B
row.css 870B
reset.css 811B
共 934 条
- 1
- 2
- 3
- 4
- 5
- 6
- 10
白卡pala
- 粉丝: 24
- 资源: 40
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0