- for
- for + cached length
- for + cached length & new Array(length)
- slice
- cached slice
- Array.form
- Array.apply
JavaScript, мысли "вслух"
Funky bench: arguments to array
wormhole.js — is EventEmitter for communication between tabs
Features
- Cross-domain communication
- SharedWorkers or fallback to localStorage
- IE 8+, Chrome 10+, FireFox 10+, Opera 10+, Safari 6+
- Test coverage (run)
How to inherit native Promise?
/** * @class MyPromise * @extends Promise */ var MyPromise = function (executor) { var promise = new Promise(executor); promise.__proto__ = this.__proto__; return promise; }; MyPromise.prototype = Object.create(Promise.prototype, { constructor: { value: MyPromise } }); MyPromise.prototype.done = function (callback) { this.then(callback); return this; }; MyPromise.prototype.fail = function (callback) { this['catch'](callback); return this; }; MyPromise.prototype.always = function (callback) { this.then(callback, callback); return this; }; MyPromise.all = Promise.all; MyPromise.cast = Promise.cast; MyPromise.reject = Promise.reject; MyPromise.resolve = Promise.resolve;
Sortable v0.4.0: Saving and restoring of the sort.
https://github.com/RubaXa/Sortable/tree/dev#store
new Sortable(el, { group: "localStorage", store: { /** * Get the order of elements. Called once during initialization. * @param {Sortable} sortable * @retruns {Array} */ get: function (sortable) { var order = localStorage.getItem(sortable.options.group); return order ? order.split('|') : []; }, /** * Save the order of elements. Called every time at the drag end. * @param {Sortable} sortable */ set: function (sortable) { var order = sortable.toArray(); localStorage.setItem(sortable.options.group, order.join('|')); } } })
Подписаться на:
Сообщения (Atom)