mirror of
https://github.com/whoisclebs/lodash.git
synced 2026-02-09 18:37:50 +00:00
style tweaks.
This commit is contained in:
@@ -21,7 +21,9 @@
|
|||||||
var breaker = {};
|
var breaker = {};
|
||||||
|
|
||||||
// Save bytes in the minified (but not gzipped) version:
|
// Save bytes in the minified (but not gzipped) version:
|
||||||
var ArrayProto = Array.prototype, ObjProto = Object.prototype, FuncProto = Function.prototype;
|
var ArrayProto = Array.prototype,
|
||||||
|
ObjProto = Object.prototype,
|
||||||
|
FuncProto = Function.prototype;
|
||||||
|
|
||||||
// Create quick reference variables for speed access to core prototypes.
|
// Create quick reference variables for speed access to core prototypes.
|
||||||
var concat = ArrayProto.concat,
|
var concat = ArrayProto.concat,
|
||||||
@@ -46,6 +48,12 @@
|
|||||||
nativeKeys = Object.keys,
|
nativeKeys = Object.keys,
|
||||||
nativeBind = FuncProto.bind;
|
nativeBind = FuncProto.bind;
|
||||||
|
|
||||||
|
// List of possible shadowed properties on Object.prototype.
|
||||||
|
var shadowed = [
|
||||||
|
'constructor', 'hasOwnProperty', 'isPrototypeOf', 'propertyIsEnumerable',
|
||||||
|
'toLocaleString', 'toString', 'valueOf'
|
||||||
|
];
|
||||||
|
|
||||||
// Create a safe reference to the Underscore object for use below.
|
// Create a safe reference to the Underscore object for use below.
|
||||||
var _ = function(obj) { return new wrapper(obj); };
|
var _ = function(obj) { return new wrapper(obj); };
|
||||||
|
|
||||||
@@ -57,13 +65,11 @@
|
|||||||
exports = module.exports = _;
|
exports = module.exports = _;
|
||||||
}
|
}
|
||||||
exports._ = _;
|
exports._ = _;
|
||||||
|
// Register as a named module with AMD.
|
||||||
} else if (typeof define === 'function' && define.amd) {
|
} else if (typeof define === 'function' && define.amd) {
|
||||||
// Register as a named module with AMD.
|
define('underscore', function() { return _; });
|
||||||
define('underscore', function() {
|
// Exported as a string, for Closure Compiler "advanced" mode.
|
||||||
return _;
|
|
||||||
});
|
|
||||||
} else {
|
} else {
|
||||||
// Exported as a string, for Closure Compiler "advanced" mode.
|
|
||||||
root['_'] = _;
|
root['_'] = _;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -79,24 +85,23 @@
|
|||||||
var each = _.each = _.forEach = function(obj, iterator, context) {
|
var each = _.each = _.forEach = function(obj, iterator, context) {
|
||||||
if (obj == null) return;
|
if (obj == null) return;
|
||||||
if (nativeForEach && obj.forEach === nativeForEach) {
|
if (nativeForEach && obj.forEach === nativeForEach) {
|
||||||
obj.forEach(iterator, context);
|
return obj.forEach(iterator, context);
|
||||||
|
}
|
||||||
|
var fn = iterator;
|
||||||
|
var i = -1;
|
||||||
|
var l = obj.length;
|
||||||
|
// We optimize for common use by only binding a context when it's passed.
|
||||||
|
if (context) {
|
||||||
|
iterator = function() { return fn.call(context, obj[i], i, obj); };
|
||||||
|
}
|
||||||
|
// If we're dealing with an array or array-like object...
|
||||||
|
if (l === l >>> 0) {
|
||||||
|
while (++i < l) {
|
||||||
|
if (i in obj && iterator(obj[i], i, obj) == breaker) return;
|
||||||
|
}
|
||||||
|
// Otherwise, delegate to `forProps` over an object's keys and values.
|
||||||
} else {
|
} else {
|
||||||
var fn = iterator;
|
forProps(obj, iterator, true);
|
||||||
var i = -1;
|
|
||||||
var l = obj.length;
|
|
||||||
|
|
||||||
// We optimize for common use by only binding a context when it's passed.
|
|
||||||
if (context) {
|
|
||||||
iterator = function() { return fn.call(context, obj[i], i, obj); };
|
|
||||||
}
|
|
||||||
// If we're dealing with an array or array-like object...
|
|
||||||
if (l === l >>> 0) {
|
|
||||||
while (++i < l) {
|
|
||||||
if (i in obj && iterator(obj[i], i, obj) == breaker) return;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
forProps(obj, iterator, true);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -108,12 +113,6 @@
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
// List of possible shadowed properties on Object.prototype.
|
|
||||||
var shadowed = [
|
|
||||||
'constructor', 'hasOwnProperty', 'isPrototypeOf', 'propertyIsEnumerable',
|
|
||||||
'toLocaleString', 'toString', 'valueOf'
|
|
||||||
];
|
|
||||||
|
|
||||||
// IE < 9 makes properties, shadowing non-enumerable ones, non-enumerable too.
|
// IE < 9 makes properties, shadowing non-enumerable ones, non-enumerable too.
|
||||||
var forShadowed = !{valueOf:0}.propertyIsEnumerable('valueOf') &&
|
var forShadowed = !{valueOf:0}.propertyIsEnumerable('valueOf') &&
|
||||||
function(obj, iterator) {
|
function(obj, iterator) {
|
||||||
@@ -136,13 +135,12 @@
|
|||||||
var forProps = function(obj, iterator, ownOnly) {
|
var forProps = function(obj, iterator, ownOnly) {
|
||||||
var done = !obj;
|
var done = !obj;
|
||||||
var skipProto = typeof obj == 'function';
|
var skipProto = typeof obj == 'function';
|
||||||
|
|
||||||
for (var key in obj) {
|
for (var key in obj) {
|
||||||
// Firefox < 3.6, Opera > 9.50 - Opera < 12, and Safari < 5.1
|
// Firefox < 3.6, Opera > 9.50 - Opera < 12, and Safari < 5.1
|
||||||
// (if the prototype or a property on the prototype has been set)
|
// (if the prototype or a property on the prototype has been set)
|
||||||
// incorrectly set a function's `prototype` property [[Enumerable]] value
|
// incorrectly set a function's `prototype` property `[[Enumerable]]` value
|
||||||
// to true. Because of this we standardize on skipping the the `prototype`
|
// to true. Because of this we standardize on skipping the the `prototype`
|
||||||
// property of functions regardless of their [[Enumerable]] value.
|
// property of functions regardless of their `[[Enumerable]]` value.
|
||||||
if (done =
|
if (done =
|
||||||
!(skipProto && key == 'prototype') &&
|
!(skipProto && key == 'prototype') &&
|
||||||
(!ownOnly || ownOnly && hasOwnProperty.call(obj, key)) &&
|
(!ownOnly || ownOnly && hasOwnProperty.call(obj, key)) &&
|
||||||
|
|||||||
Reference in New Issue
Block a user