Pregunta

una pregunta rápida, fácil, probablemente, cuya respuesta es probablemente "la mejor práctica"

se utiliza

Estoy siguiendo un tutorial para una aplicación web Safari móvil a medida plantilla, y para cambiar puntos de vista en torno a este código:

function btnSave_ClickHandler(event)
{
    var views = document.getElementById('stackLayout');
    var front = document.getElementById('mainScreen');
    if (views && views.object && front) {
        views.object.setCurrentView(front, true);
    }
}

Mi pregunta es sólo acerca de la sentencia condicional if. ¿Qué es este triplete diciendo, y por qué cada una de esas cosas tienen que ser verificada antes de la vista se puede cambiar? No views.object sólo prueba para ver si la variable de puntos de vista responde al método de objeto? ¿Por qué es esto importante?

Editar - Este es / era el principal punto de esta pregunta, y no se refiere a Javascript como lenguaje y como bucles if funciona, sino más bien por qué estas 3 cosas necesitan específicamente para ser verificado:

¿En qué escenarios podrían views y front no existe?

Yo no suelen escribir mi código de forma redundante. Si el nombre de mi tabla de MySQL no está cambiando, sólo voy a decir UPDATE 'mytable' WHERE... en lugar del mucho más prolijo (y en mi opinión, redundante)

$mytable = "TheSQLTableName";
if ($mytable == an actual table && $mytable exists && entries can be updated){
    UPDATE $mytable;
}

Mientras que si el nombre de la tabla (o en el ejemplo JS, nombres de la vista) no son "codificado" sino que son una entrada de usuario o de otra manera mutable, podría enderezar mi código como el ejemplo DashCode lo tiene. Así que dime, estos valores pueden "salir mal" de todos modos?

Gracias!

¿Fue útil?

Solución

El caso de los ensayos de los 3 punteros para asegurarse de que no son nulos. Un puntero nulo es 0 que se convierte en falsa. Si cualquiera de los 3 puntero son 0 (cero), entonces no va a tratar de usarlos.

No estoy seguro de lo que la eliminación de referencias a un puntero nulo hace en Javascript, pero es un error y puede causar una excepción. El caso es sólo evitar esa posibilidad.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top