1
언더 코어 .js를 읽으려고합니다. 나는 var each = _.each = _.forEach
방법을 통해 갈 것입니다.Underscore.js의 각 메소드에서 + obj.length의 의미는 무엇입니까?
나는 정확히 같음 (===
)을 이해하지만 무엇이 +obj.length
을 의미하는지 이해하지 못합니다.
else if (obj.length === +obj.length)
여기 a link to the code이며, 여기에 전체 방법 :
var each = _.each = _.forEach = function(obj, iterator, context) {
if (obj == null) return;
if (nativeForEach && obj.forEach === nativeForEach) {
obj.forEach(iterator, context);
} else if (obj.length === +obj.length) {
for (var i = 0, l = obj.length; i < l; i++) {
if (iterator.call(context, obj[i], i, obj) === breaker) return;
}
} else {
for (var key in obj) {
if (_.has(obj, key)) {
if (iterator.call(context, obj[key], key, obj) === breaker) return;
}
}
}
};
나는'obj.length'가 숫자라는 것을 확신합니다. –
[단항 플러스와 마이너스 연산자의 중요한 용도는 무엇입니까?] 가능한 복제본 (http://stackoverflow.com/questions/5450076/whats-the-significant-use-of-unary-plus-and-minus-operators) – Bergi