En el siguiente código:En un bucle, ¿se evalúa cualquier operación en la condición final en cada iteración?
for (var i = 0; i < object.length; i++){
....
}
¿La operación object.length
se evalúan cada vez que en la iteración?
Tendría más sentido que el lenguaje lo evalúe una vez y guarde el resultado. Sin embargo, estaba leyendo un código en el que alguien evaluaba la operación antes de que comenzara el ciclo y la almacenaba en una variable que se usaba en la condición final.
¿Los diferentes idiomas manejan esto de manera diferente? ¿Alguna información específica para Javascript?
Las llamadas a funciones no se correlacionan directamente con los problemas de rendimiento, en los lenguajes dinámicos; los cuerpos de las funciones podrían estar insertados, por ejemplo. –
Y una "referencia de propiedad simple" podría estar llamando a una función getter compleja (aunque debería ser simple en este caso). –
@Chris - oh sí; lo que debería haber dicho es "llamadas a funciones que hacen mucho trabajo". Puedo aclarar – Pointy