Cet article présente principalement 5 mauvaises habitudes d'écriture de code JavaScript. Vous voyez si vous vous faites prendre ? , ce chapitre souligne des problèmes tels que votre incapacité à utiliser les espaces de noms, les définitions de variables, la portée des variables Javascript, l'orientation objet de Javascript, le nouveau mot-clé, etc. Les amis qui en ont besoin peuvent s'y référer.
Javascript a mauvaise réputation sur Internet, mais il est difficile de trouver un autre langage aussi dynamique, aussi largement utilisé et aussi ancré dans nos vies. Son faible seuil d'apprentissage fait que beaucoup de gens l'appellent un langage de script préscolaire. Une autre chose qui fait rire les gens est que le concept de langage dynamique utilise des types de données statiques de haut niveau. En fait, vous et Javascript êtes du mauvais côté, et maintenant, vous mettez Javascript très en colère. Voici cinq raisons pour lesquelles vos compétences JavaScript sont nulles.
1. Vous n'utilisez pas d'espaces de noms.
Vous souvenez-vous de la fois où votre professeur à l'université vous a dit de ne pas utiliser de variables globales dans vos devoirs ? L'utilisation de variables globales en Javascript ne fait pas exception. Si vous n'y faites pas attention, les pages Web deviendront chaotiques, remplies d'un fouillis de scripts et de bibliothèques de scripts mutuellement illicites provenant de tous les coins d'Internet. Si vous nommez un chargeur de variable(), vous posez des problèmes. Si vous surchargez une fonction sans vous en rendre compte, Javascript ne vous le rappellera pas du tout. Vous l’avez aussi appelé un langage de programmation préscolaire, vous vous souvenez ? Ce que je dis, c'est que vous devez savoir ce qui se passe après avoir fait ça.
function derp(){ alert(“one”); } function derp(){ alert(“two”); } derp();
"deux", la réponse est "deux". Il ne doit pas nécessairement en être ainsi, cela pourrait aussi être « un ». Il est donc facile de placer tout votre code dans son propre espace de noms. Voici un moyen simple de définir votre propre espace de noms.
var foospace={}; foospace.derp=function(){ alert(“one”); } function derp(){ alert(“two”); } foospace.derp();
2. Vous faites de la magie, vous définissez les variables une par une.
Utiliser une combinaison inexplicable de chiffres et de lettres comme noms de variables est un résultat perdant-perdant. Trouver une variable de caractère sans signification dans un bloc de code de 40 lignes est un cauchemar de maintenance. Mélanger la première déclaration d'une variable dans un bloc de code de 40 lignes est également un cauchemar. Même lorsque vous rencontrez vous-même une telle variable, vous ne pouvez pas vous empêcher de vous demander : « Où est-ce défini ? », puis d'utiliser rapidement la combinaison Ctrl F pour trouver l'emplacement où cette variable a été initialement définie dans le code source. Non, ne faites pas ça, au contraire, c'est un abus de Javascript et une démarche stupide. Vous devez toujours définir une variable en haut de sa portée. Cela ne veut pas dire que vous n’êtes pas obligé de le faire simplement parce que ce n’est pas nécessaire.
function(){ var a,//description b; //description //process… }
3. Vous ne comprenez pas la portée des variables Javascript.
Vous êtes un programmeur de génie. Ce que vous mangez est du C et ce que vous faites est du List. Vous savez ce qu'est la portée des variables, vous avez un contrôle total sur vos variables et vous les surveillez comme un roi. Cependant, Javascript fait caca dans votre café et vous fait rire.
var herp=”one”; { var herp=”two”; } alert(herp);
Dans ce cas, l'herpès que vous obtenez n'est pas "un", mais "deux". La portée variable de Javascript ne dépend pas des blocs de code comme les autres langages. La portée des variables Javascript est basée sur des fonctions. Chaque fonction a sa propre portée de variable, et Javascript est cool à ce sujet et ignore la portée dénuée de sens entourée d'accolades. En fait, Javascript est tellement cool que vous pouvez même transmettre des portées de variables comme des espaces de noms ou des variables.
4. Vous pensez que les fonctionnalités orientées objet de Javascript sont simplement greffées.
Javascript, depuis sa création, est un langage orienté objet. Tout en Javascript est un objet, tout ! Même les symboles littéraux tels que les chiffres et les caractères peuvent être convertis en objets via son propre constructeur inhérent. Comparé aux autres langages orientés objet, Javascript est différent en ce sens qu'il n'a pas de classes. Les objets Javascript sont définis comme des fonctions, et même les fonctions elles-mêmes sont des objets. Javascript a un attribut appelé prototype. Cet attribut est intégré à tous les objets. Vous pouvez l'utiliser pour changer la structure de l'objet, modifier l'objet, ajouter plus de variables et plus de fonctions.
var derp; //will hold a Herp instance var Herp= function(){ this.opinion=”Javascript is cooler than BASIC.”; } Herp.prototype.speak=function(){ alert(this.opinion); } var derp= new Herp(); derp.speak();
Si cela ne vous semble pas pertinent, j'aimerais vous présenter mon bon ami Google. Google est doué pour aider les gens à acquérir des connaissances. L'orientation objet est un sujet trop vaste pour mon court article discret.
5. Vous êtes comme un aveugle et un cheval aveugle lorsque vous utilisez le mot-clé "nouveau".
Javascript doit être votre première petite amie, car vous semblez perdu. Si vous voulez ravir Javascript comme une vraie personne, vous devez comprendre la notation objet. Sauf lorsque vous devez instancier un objet, ou dans de rares cas où vous devez retarder le chargement des données, vous n'avez fondamentalement pas besoin d'utiliser le nouveau mot-clé. L'attribution des adresses d'un grand nombre de nouvelles variables en JavaScript est une opération lente et, par souci d'efficacité, vous devez toujours utiliser la notation objet.
var rightway= [1, 2, 3]; var wrongway= new Array(1, 2, 3);
是否还记得我说过Javascript的变量范围是以函数为基础的?是否还记得有人说Javascript的对象像函数那样定义?如果你不使用new关键字来声明一个对象,你将会使这个对象成为全局范围内的对象。所以,永远使用new关键字来声明对象是一个好习惯。
var derp=”one”; var Herp=function(){ this.derp=”two”; } var foo=Herp(); alert(derp);
如果你这样写,Javascript并不会在意,而你真正弹出的答案是“two”!有很多方法可以防止对象做出这样的行为,可以以使用instanceOf,但更好的方法是正确的使用new关键字,这样显得更专业。
现在你知道你的Javascript代码写的很烂了吧,如果你记住了上面所说的东西,你的代码就会有所改善。更多相关教程请访问JavaScript视频教程!