Que fait cette ligne de code?Que fait-on? : signifie en Javascript?
len = (s.length>t.length) ? s.length : t.length
Que fait cette ligne de code?Que fait-on? : signifie en Javascript?
len = (s.length>t.length) ? s.length : t.length
Il définit la variable len
à la longueur de la chaîne s
, ou la longueur de la chaîne t
, en fonction de ce qui est plus longue.
pouvez-vous être sûr que len est global? – Fosco
Non, vous ne pouvez pas. Si une ligne précédente a déclaré 'var len', alors c'est local. –
@Joe d'accord, point. Enlever ça. –
Si s.length
est supérieur à t.length
défini len = s.length
autre set len = t.length
qui utilise l'opérateur conditionnel, qui est également connu comme un ternaire, car il faut trois opérandes. Pour plus d'informations, voir https://developer.mozilla.org/en/JavaScript/Reference/Operators/Special_Operators/Conditional_Operator.
Vous pouvez trouver cette construction avec la même syntaxe en PHP, C, C++ et d'autres langues.
il est l'équivalent de:
var len=0;
if(s.length>t.length)
len= s.length;
else
len=t.length;
Il est donc juste une façon courte faire faire si d'autre.
En fait, l'original n'a pas 'var', donc ce n'est pas équivalent - vous déclarez une variable locale, alors que l'original peut avoir utilisé un global. –
Peut avoir une variable globale mais peut ne pas avoir, il peut être à l'intérieur d'une fonction et vars globales n'est pas la meilleure pratique de programmation donc c'est la meilleure pratique équivalente. – albanx
Il fait ceci:
if (s.length > t.length) {
len = s.length;
} else {
len = t.length;
}
L'original n'avait pas 'var', donc ce n'est pas équivalent - vous déclarez une variable locale, alors que l'original peut avoir utilisé un global. –
Mis à jour bon monsieur. – Corv1nus
Il est l'équivalent de len = Math.max(s.length, t.length);
à l'aide du ternary conditional operator.
?: Est l'opérateur ternaire. Il renvoie une valeur basée sur une condition.
x = (condition)?(if-true):(if-false)
Donc, si la condition est vraie, x est la valeur dans le cas-vraie section, et si elle est fausse, alors x est la valeur si-faux.
Si est équivalent à ce que Corv1nus a dit plus tôt.
len sera attribué la longueur des deux s ou t selon lequel on a une plus grande longueur
Si la longueur de s est greather que la longueur de t, faire « len » la longueur de l'art. Si la longueur de s est inférieure ou égale à la longueur de t, faites "len" la longueur de t.
Il s'agit d'un conditionnel en ligne. '? : 'et est pris en charge dans de nombreuses langues. –
Fosco