Although 开发者_开发技巧Ecmascript 5 introduces some completely new features, it also adds some new methods (bind, trim, map, etc.) which should be perfectly possible to implement (albeit slower) in current versions. Does a library exist which implements these backwards compatible features (and no more, excluding Prototype et. al.)
Kris Kowal and friends have built the es5-shim. It was part of Narwhal, but now lives on its own:
http://github.com/kriskowal/es5-shim/
Was: I've taken to using the global-es5.js shim from narwhal:
http://github.com/280north/narwhal/blob/master/engines/default/lib/global-es5.js
you'll have to take out the require("json");
line at the bottom, but other than that, it should be browser-clean.
Prototype and Underscore implement a lot of those.
So, I just gave up and started an ES5 library
You might want to check out pulpjs. You can pick the pieces you want to include, and then grab the protocompat module, which will make a bunch of methods available as extensions on the object prototypes.
精彩评论