4.2 KiB
Lo-Dash v0.1.0
Lo-Dash, from the devs behind jsPerf.com, is a drop-in replacement for Underscore.js that delivers performance improvements, additional features, and works on nearly all JavaScript platforms1.
Screencasts
For more information check out the series of screencasts over Lo-Dash:
BestieJS
Lo-Dash is part of the BestieJS "Best in Class" module collection. This means we promote solid browser/environment support, ES5 precedents, unit testing, and plenty of documentation.
Documentation
The documentation for Lo-Dash can be viewed here: http://lodash.com/docs
Underscore's documentation may also be used.
For a list of upcoming features, check out our roadmap.
So What's The Secret?
Lo-Dash's performance is gained by avoiding slower native methods, instead opting for simplified non-ES5 compliant methods optimized for common usage, and by leveraging function compilation to reduce the number of overall function calls.
Any New Features?
Lo-Dash comes with AMD loader support, chainable _.each, lazy _.bind, and more...
Custom builds
Creating custom builds to keep your utility belt lightweight is easy. We handle all the method dependency and alias mapping for you.
Custom builds may be created in two ways:
- Use the
includeargument to pass the names of the methods to include in the build.
node build include=each,filter,map,noConflict
node build include="each, filter, map, noConflict"
- Use the
excludeargument to pass the names of the methods to exclude from the build.
node build exclude=isNaN,union,zip
node build exclude="isNaN, union, zip"
Custom builds are saved to lodash.custom.js and lodash.custom.min.js.
Installation and usage
In a browser:
<script src="lodash.js"></script>
Via npm:
npm install lodash
In Node.js and RingoJS v0.8.0+:
var _ = require('lodash');
In Narwhal and RingoJS v0.7.0-:
var _ = require('lodash')._;
In Rhino:
load('lodash.js');
In an AMD loader like RequireJS:
// Lo-Dash is defined as an anonymous module so, through path mapping, it can be
// referenced as the "underscore" module
require({
'paths': {
'underscore': 'path/to/lodash'
}
},
['underscore'], function(_) {
console.log(_.VERSION);
});
Cloning this repo
To clone this repository including all submodules, using Git 1.6.5 or later:
git clone --recursive https://github.com/bestiejs/lodash.git
cd lodash.js
For older Git versions, just use:
git clone https://github.com/bestiejs/lodash.git
cd lodash
git submodule update --init
Feel free to fork and send pull requests if you see improvements!
Footnotes
- Lo-Dash has been tested in at least Chrome 5-19, Firefox 1.5-12, IE 6-9, Opera 9.25-11.64, Safari 3.0.4-5.1.3, Node.js 0.4.8-0.6.18, Narwhal 0.3.2, RingoJS 0.8, and Rhino 1.7RC3. ↩