nije sporno da se to sto pise u uslovu svaki put poziva, ali ovde se radi o propertiju, koji se samo procita iz objekta, ne izracunava mu se vrednost svaki put (niz zna koliko je dugacak), pa je zato razlika minimalna...
Evo probajte i sami u firebugu:
Kôd:
var a = [];
var b = [];
var start = new Date();
for(var i=0; i<1000000; i++)
a.push(i);
var end = new Date();
console.log( (end-start) /1000)
var start = new Date();
for(var i=0; i<a.length; i++)
b.push(i);
var end = new Date();
console.log( (end-start) /1000)
Dobije se, iz nekoliko pokretanja:
Citat:
const .length
------------------
0.866 1.063
0.862 1.064
0.866 1.067
0.852 1.056
0.866 1.066
|
znaci jeste malo sporiji pristup propertiju nego varijabli, ali razlika je smesna, ~0.2 mikrosekunde po iteraciji, po meni je to nebitno, i sto je najbitnije ne degradira se povecanjem broja elemenata, nego zavisi od js kompajlera..
Ali zato u php-u nikako ne treba raditi for($i=0; $i<count($nesto); $i++) jer to zaista broji elemente niza svaki put...