Maison > interface Web > js tutoriel > Quelques conseils pour provoquer facilement des bugs dans la programmation JavaScript

Quelques conseils pour provoquer facilement des bugs dans la programmation JavaScript

PHPz
Libérer: 2018-09-29 15:58:42
original
1672 Les gens l'ont consulté

Cet article présente principalement quelques astuces sujettes aux bugs dans la programmation JavaScript. Cet article résume 8 astuces, si vous ne comprenez pas ces astuces, elles vous causeront des problèmes et des bugs dans la programmation. Vous avez besoin que vos amis puissent s'y référer. 🎜>

JavaScript est l'un des langages de programmation les plus populaires aujourd'hui, mais sa popularité est également un effet secondaire des diverses fonctionnalités du langage lui-même. Quelle que soit la beauté du langage, des milliers de personnes l'utilisent encore. chaque jour, des dizaines de milliers de programmeurs ont créé un tas de bugs. Ne vous moquez pas encore des autres, peut-être que vous en faites partie.

Pour vous donner un exemple, voici quelques courts extraits de JS tout à fait valables (vous pouvez l'essayer sur votre console) :


typeof NaN === 'number' // true
 
Infinity === 1/0        // true
0.1 + 0.2 === 0.3       // false,前面加括号也一样
"3" + 1                 // '31'  
"3" - 1                 // 2
Copier après la connexion
Croyez-vous toujours c'est votre propre JavaScript ?

1. La plus petite valeur en JS

Number.MIN_VALUE > 0; //true
Copier après la connexion
Number.MIN_VALUE est utilisée pour la plus petite valeur que JavaScript peut exprimer, qui est 5e-324, mais elle est le plus proche dans JS Un nombre de 0

2. Connexion de chaîne

("foo" + + "bar") === "fooNaN"  //true
"why I am " + typeof + ""       // why I am number
Copier après la connexion
JS est analysé en "foo" ("bar"), qui sera converti "bar" en un nombre

3. fonction parseInt

parseInt('06'); // 6
parseInt('08'); // 0  注意,谷歌新版已修正
parseInt(null, 24) === 23 // true
Copier après la connexion

4. Est-ce qu'un objet est nul

typeof null  // object
null instanceof Object  // false
Copier après la connexion

5. Le contenu renvoyé par return

function myjson()
{
   return
   [
     2
   ]
}
myjson();  // undefined
Copier après la connexion
Le contenu renvoyé par return doit être sur la même ligne que return

6.

 012  == 12  // false
'012' == 12  // true
 "3" + 1     // '31'
 "3" - 1     // 2
0.1 + 0.2 == 0.3 // false
0.1 + 0.7 == 0.8 // false
0.2 + 0.7 == 0.9 // false
9999999999999999 // 10000000000000000
9999999999999999-1 //10000000000000000
111111111111111111111 // 111111111111111110000
Copier après la connexion

7. Paramètres étranges

function hello(what) {
     alert(arguments[0]);    //vicky
     what = "world";
     return "Hello, " + arguments[0] + "!";
}
hello("vicky"); //"Hello, world!"
Copier après la connexion

8. Le signe égal qui gratte la tête<🎜. >

C'est tout. Pour l'intégralité du contenu de ce chapitre, veuillez visiter le
NaN === NaN;   // false
[] == false;   // true
"" == false;   // true
null == false; // false
[] == ![]      // true
window.window == window  // true
window.window === window // false,有些浏览器是true
window == document       // true,有些浏览器是false
("0" && {}) == 0 // false
(0 && {}) == 0   // true
0 == "0"         // true
[] == 0          // true
Copier après la connexion
Tutoriel vidéo JavaScript

pour plus de tutoriels connexes !

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal