JavaScript est l'un des langages de programmation les plus populaires aujourd'hui, mais la popularité est également les effets secondaires des caractéristiques propres de la langue. Peu importe à quel point le langage est merveilleux, des milliers de programmeurs font encore un tas de bugs chaque jour. Ne riez pas des autres pour le moment, peut-être que vous êtes l'un d'eux.
Voici quelques extraits JS courts et entièrement valides (vous pouvez l'expérimenter sur votre console):
La copie de code est la suivante:
Typeof nan === 'Number' // Vrai
Infinity === 1/0 // Vrai
0,1 + 0,2 === 0,3 // faux, il en va de même pour les parenthèses préfixées
"3" + 1 // '31'
"3" - 1 // 2
Croyez-vous toujours en votre javascript?
1. La valeur minimale de JS
La copie de code est la suivante:
Numéro.min_value> 0; //vrai
Number.min_value est utilisé pour la valeur minimale que JavaScript peut exprimer, qui est 5E-324, mais c'est le nombre le plus proche en JS à 0.
2. Connexion de chaîne
La copie de code est la suivante:
("Foo" + + "bar") === "Foonan" // Vrai
"Pourquoi je suis" + type de + "" // pourquoi je suis numéro
JS analyse "Foo" + (+ "bar"), qui convertira "Bar" en un numéro
3. Fonction de Parseint
La copie de code est la suivante:
ParseInt ('06 '); // 6
ParseInt ('08 '); // 0 note que la nouvelle version de Google a été corrigée
PARSEINT (NULL, 24) === 23 // Vrai
4. Est-ce l'objet nul?
La copie de code est la suivante:
type de null // objet
instance nulle d'objet // faux
5. Retour retour au contenu
La copie de code est la suivante:
fonction myjson ()
{
Retour
[
2
]]
}
myjson (); // indéfini
Le contenu renvoyé par retour doit être sur la même ligne que le retour
6. Nombres étranges
La copie de code est la suivante:
012 == 12 // faux
'012' == 12 // Vrai
"3" + 1 // '31'
"3" - 1 // 2
0,1 + 0,2 == 0,3 // faux
0,1 + 0,7 == 0,8 // faux
0,2 + 0,7 == 0,9 // faux
9999999999999999999 // 10000000000000000000
99999999999999999999-1 // 10000000000000000000
11111111111111111111111111111111111111111110000
7. Paramètres étranges
La copie de code est la suivante:
fonction bonjour (quoi) {
alerte (arguments [0]); // Vicky
quoi = "monde";
return "Bonjour," + arguments [0] + "!";
}
Bonjour ("Vicky"); //"Bonjour le monde!"
8. Le signe égal qui fait que les gens perdent la tête
La copie de code est la suivante:
Nan === nan; // FAUX
[] == false; // vrai
"" == false; // vrai
null == false; // FAUX
[] ==! [] // Vrai
window.window == fenêtre // true
window.window === fenêtre // false, certains navigateurs sont vrais
window == document // true, certains navigateurs sont faux
("0" && {}) == 0 // false
(0 && {}) == 0 // true
0 == "0" // Vrai
[] == 0 // Vrai