Ho appena letto il codice sorgente underscope, e non può ottenere il punto da questo codice:Qual è il codice "length === + length" significa in JavaScript?
_.each = _.forEach = function(obj, iterator, context) {
if (obj == null) return obj;
iterator = createCallback(iterator, context);
var i, length = obj.length;
if (length === +length) { // why +length?
for (i = 0; i < length; i++) {
iterator(obj[i], i, obj);
}
} else {
var keys = _.keys(obj);
for (i = 0, length = keys.length; i < length; i++) {
iterator(obj[keys[i]], keys[i], obj);
}
}
return obj;
};
perché lunghezza === + lunghezza? Immagino che questo sia usato per forzare la conversione se la lunghezza non è un numero? Qualcuno potrebbe darmi una mano?
C'era un esatto duplicato, è ancora legato al codice esattamente lo stesso: http://stackoverflow.com/questions/8330499/operator-before-expression-in-javascript-what-does-it -fare –