traduction de code Dashcode
-
21-09-2019 - |
Question
une question rapide, probablement facile dont la réponse est probablement « meilleure pratique »
je suis un tutoriel pour une application Web mobile modèle personnalisé Safari, et de changer les vues autour de ce code est utilisé:
function btnSave_ClickHandler(event)
{
var views = document.getElementById('stackLayout');
var front = document.getElementById('mainScreen');
if (views && views.object && front) {
views.object.setCurrentView(front, true);
}
}
Ma question est à peu près la if
instruction conditionnelle. Quel est ce triplet dire, et pourquoi faire chacune de ces choses doivent être vérifiées avant que la vue peut être modifiée? Est-ce que views.object
tester juste pour voir si la variable de vues répond à la méthode objet? Pourquoi est-ce important?
EDIT - C'est / était le principal point de cette question, et il ne regarde pas Javascript comme langue et comment les boucles if
travail, mais plutôt pourquoi ces 3 choses doivent spécifiquement à vérifier:
Dans quels scénarios pourraient views
et front
ne pas exister?
Je n'écris généralement pas mon code si redondante. Si le nom de ma table MySQL ne change pas, je vais juste dire UPDATE 'mytable' WHERE...
au lieu de beaucoup plus bavard (et à mon avis, redondant)
$mytable = "TheSQLTableName";
if ($mytable == an actual table && $mytable exists && entries can be updated){
UPDATE $mytable;
}
Alors que si la table le nom (ou dans l'exemple JS, les noms de la vue) ne sont pas « codés en dur » mais sont plutôt une entrée utilisateur ou autrement mutable, je pourrais droite mon code comme l'exemple DashCode a. Alors dites-moi, ces valeurs peuvent « aller mal » de toute façon?
Merci!
La solution
Le teste si ces 3 conseils pour vous assurer qu'ils ne sont pas nuls. Un pointeur nul est égal à 0 qui se transforme en faux. Si l'un de ces 3 pointeur sont 0 (null) alors il ne sera pas essayer de les utiliser.
Je ne suis pas sûr de ce que le déréférencement d'un pointeur NULL ne en Javascript mais il est une erreur et peut provoquer une exception. Le cas est simplement d'éviter cette possibilité.