Maison  >  Article  >  interface Web  >  Comment utiliser correctement javascript pour nos compétences en développement de programme_javascript

Comment utiliser correctement javascript pour nos compétences en développement de programme_javascript

WBOY
WBOYoriginal
2016-05-16 16:43:21972parcourir

Aujourd'hui, j'ai trouvé un article sur github sur la façon d'utiliser correctement javascript pour développer nos programmes. J'en ai trouvé un original sans vergogne... c'est une arnaque. Partageons-le avec tout le monde.
Une approche plutôt raisonnable de Javascript.
Types //Type
Objets //Objet
Tableaux //Tableau
Chaînes //Chaîne
Fonctions //Fonction
Propriétés //Propriétés
Variables //Variables
Levage //Levage variable
Expressions conditionnelles et égalité //Expressions et équations conditionnelles.
Blocs //Code de blocage
Commentaires //Commentaires
Espace //espace
Virgules //virgule
Point-virgule //Point-virgule
Casting de type et coercition //Conversion de type
Conventions de dénomination //Conventions de dénomination
Accesseurs //Accès
Constructeurs //Constructeur
Événements //Heure
Modules //Modèle
jQuery //
Compatibilité ECMAScript 5 //Compatible ECMA 5
Tests //Tests
Performances //Performances
Ressources //Ressources
Dans la nature
Traduction
Le guide du guide de style JavaScript
Contributeurs
Licence

Types
Type primitif : lors de l'accès à un type primitif, le contenu du type primitif est en fait accessible directement.
chaîne
numéro
booléen
nul
indéfini
var foo = 1,
bar = foo;
barre = 9;
console.log(foo,bar); //=> 1,9

Type complexe : lorsque vous accédez à un type de données de type complexe, vous accédez en fait à la valeur de la variable par référence.
objet
tableau
fonction

var foo = [1,2];
bar = foo;
bar[0] = 9;
console.log(foo[0],bar[0]); // => 9,9

objet(objet)
Utiliser des littéraux d'objet pour créer des objets (littéraux)

//bad
var item = new Object();
//good
var item = {};

N'utilisez pas de mots-clés réservés comme noms de propriétés d'objet. Cela ne fonctionnera pas sous IE8.

//bad
var superman = {
default: {clark: 'kent'},
private: true
};
//good
var superman = {
defaults: {clark: 'kent'},
hidden: true
};

tableau(tableau)
Utilisez également des méthodes littérales pour créer des tableaux

//bad
var items = new Array();
//good
var items = [];

Si vous ne connaissez pas la longueur du tableau, utilisez la méthode push intégrée d'Array pour effectuer l'opération d'insertion

var someStack = [];
//bad
someStack[someStack.length] = 'vein';
//good
someStack.push('vein');

Lorsque vous souhaitez copier un tableau, utilisez array.slice

var len = items.length, //指的就是上面的内容...
itemCopy = [],
i;
//bad
for(i = 0; i < len ; ++i){
itemCopy[i] = items[i];
}
//good
itemCopy = items.slice(); //这里要注意了.这个我还真不知道...

Chaîne de cordes
Utilisez des guillemets simples pour entourer la chaîne...//Je n'ai pas trouvé d'explication appropriée sur les performances ici, j'aime personnellement l'utiliser de cette façon (mieux vaut porter moins que porter plus, n'est-ce pas ? ..vous. sais..)

//bad
var name = "Bob Parr";
//good
var name = 'Bob Parr';
//bad
var fullName = "Bob " + this.lastName;
//good
var fullName = 'Bob ' + this.lastName;

Lorsque la chaîne comporte plus de 80 caractères, vous devez utiliser la concaténation de chaînes pour écrire sur plusieurs lignes. Notez que si elle est utilisée de manière excessive, la concaténation de chaînes affectera les performances
.

// bad
var errorMessage = 'This is a super long error that was thrown because of Batman. When you stop to think about how Batman had anything to do with this, you would get nowhere fast.';
// bad
var errorMessage = 'This is a super long error that was thrown because \
of Batman. When you stop to think about how Batman had anything to do \
with this, you would get nowhere \
fast.';
// good
var errorMessage = 'This is a super long error that was thrown because ' +
'of Batman. When you stop to think about how Batman had anything to do ' +
'with this, you would get nowhere fast.';

S'il est prévu de créer un tableau, comme indiqué ci-dessous, l'utilisation de Array.join donnera de meilleurs résultats..

var items,
messages,
length,
i;
messages = [{
stat: 'success',
message: ' This one worked'
},{
stat: 'success',
message: ' This one worked'
},{
stat: 'success',
message: ' This one worked'
}
];
length = messages.length;
//bad
function inbox(messages){
items = '<ul>';
for (i = 0; i < length; i++) {
items += '<li>' + messages[i].message + '</li>';
}
return items + '</ul>';
}
//good
function inbox(messages){
items = [];
for( i = 0; i < length ; i++){
items[i] = messages[i].message;
}
return '<ul><li>' + items.join('</li><li>') + '</li></ul>';
}

Fonctions

//匿名函数表达式..
var anonymous = function(){
return true;
};
// 命名函数表达式.
var named = function named(){
return true;
};
//即时引用函数
(function(){
console.log('Welcome to the Internet. Please follow me.');
})();

Ne définissez jamais de fonctions dans un code de bloc non fonctionnel (if, while). En conséquence, attribuez des fonctions à des noms de variables externes au milieu du bloc de code..

//bad
if(currentUser){
function test(){
console.log('Nope.');
}
}
//good
var test;
if(currentUser){
test = function(){
console.log('Yup'); 
}; //be careful with the semi-colon.
}

Propriétés
Utilisez la syntaxe par points pour accéder aux propriétés.

var luke = {
jedi: true,
age: 28
};
//bad
var isJedi = luke['jedi'];
//good
var isJedi = luck.jedi;

Lorsque vous utilisez des variables pour accéder aux propriétés d'un objet, utilisez des crochets [] pour accéder à

var luke = {
jedi: true,
age: 28
};
function getProp(prop) {
return luke[prop];
}
var isJedi = getProp('jedi');
Déclaration:
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