J'ai cherché dans SO, mais je n'ai pas trouvé quelque chose de similaire. Peut-être que j'utilise de mauvaises clés de recherche.
J'éditais une bibliothèque javascript quand j'ai trouvé ce if
statmentvirgule à l'intérieur si la déclaration en javascript
var a = location.hash.replace(/^#/, "");
if (container = $("#content"), a) {
..content
} else {
...other code
}
la première partie container = $("#content")
consiste à attribuer la valeur de $("#content")
à conteneur, mais je ne comprends pas pourquoi il y a une virgule dans le cas. Est-ce comme un opérateur AND
? Quelque chose comme if (container = $("#content") && a)
? Qu'est-ce qu'il évalue?
Javascript est (jusqu'à présent) mon langage de programmation principal. J'ai déjà vu cet opérateur, mais seulement quand c'est réellement utile. Dans ce cas, il semble que cela voulait simplement «sauver une ligne» en lançant l'assignation dans l'instruction 'if'. À mon avis, ce n'est pas très lisible. Bien que je suppose que si c'est le code de bibliothèque que «chaque octet compte», mais même alors la bibliothèque peut/devrait être minifiée. Alors pourquoi ils ont écrit le code de cette façon ... définitivement un mystère pour moi. –
merci @ChrisCirefice, je vais garder cela en considération – faby