Je me demandais ce que le = + _ exploitant, en JavaScript. On dirait que les affectations pour cela.
Exemple :
Je me demandais ce que le = + _ exploitant, en JavaScript. On dirait que les affectations pour cela.
Exemple :
r = +_;
+
essaie de jeter quoi que _
est un nombre._
n'est qu'un nom de variable (et non un opérateur), il peut être "un", "foo", etc.Exemple:
+"1"
fonte "1" à la pure numéro 1.
var _ = "1";
var r = +_;
r
est désormais 1
, pas "1"
.
En outre, selon le MDN page sur les Opérateurs Arithmétiques:
Unaire plus opérateur précède son opérande et donne son opérande mais tente de le convertit en un nombre, si ce n'est pas déjà. [...] Il peut convertir des représentations de chaîne de nombres entiers et les chars, ainsi que la non-valeurs de chaîne
true
,false
, etnull
. Entiers dans les deux décimales et hexadécimales ("0x"
-préfixés) formats sont pris en charge. Les nombres négatifs sont pris en charge (mais pas pour hex). Si c' ne peut pas analyser une valeur particulière, il va évaluer à l'NaN
.
Il est également noté qu'
unaire plus est la manière la plus rapide et de manière préférée de la conversion de quelque chose dans un certain nombre
=+
sont en fait deux opérateurs =
est d'affectation et d' +
et _
est le nom de la variable.
comme:
i = + 5;
or
j = + i;
or
i = + _;
Mes codes suivants vous aideront à montrer l'utilisation de l' =+
pour convertir un string en int.
exemple:
y = +'5'
x = y +5
alert(x);
sorties 10
utilisation: Donc, ici, y
est de type int 5
en raison de l' =+
sinon:
y = '5'
x = y +5
alert(x);
sorties 55
Où qu' _
est une variable.
_ = + '5'
x = _ + 5
alert(x)
sorties 10
En outre,
Il serait intéressant de savoir, vous pouvez également obtenir la même chose avec ~
(si la chaîne est de type int string (float sera tour des int))
y = ~~'5' // notice used two time ~
x = y + 5
alert(x);
aussi les sorties de 10
~
est not au niveau du bit : Inverse les bits de son opérande. Je l'ai fait deux fois aucun changement dans leur ampleur.
C'est un sournois.
La chose importante à comprendre est que le caractère de soulignement ici est en fait un nom de variable, pas un opérateur.
Le signe plus devant que c'est le positif de la valeur numérique de souligner -- ie efficacement casting le trait de soulignement variable à un int. Vous pourriez obtenir le même effet avec parseInt()
, mais le signe plus le casting est probablement utilisé ici parce que c'est plus concis.
Et qui ne laisse que le signe égal comme un standard de l'attribution de la variable.
Ce n'est probablement pas délibérément écrit à confondre, comme un expérimenté Javascript programmeur reconnaissent généralement trait de soulignement comme une variable. Mais si vous ne savez pas que c'est certainement très déroutant. Je ne voudrais certainement pas écrire ça comme ça; je ne suis pas un fan de courte pas de sens, les noms de variables dans le meilleur des cas, Si vous souhaitez court noms de variable dans le code JS pour économiser de l'espace, de l'utilisation d'un minifier; ne pas écrire avec de courtes variables de départ.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.