L'objet Date a une méthode Get Day, qui renvoie le jour de la semaine à une date spécifique basée sur l'heure locale. La valeur de retour est de 0 à 6, correspondant au dimanche ~ samedi
getday0123456
Quel jour dimanche lundi mardi mercredi jeudi vendredi samedi
Lorsque vous utilisez les exigences liées à la date, vous devez convertir la valeur renvoyée par Getday au jour de la semaine, c'est-à-dire quel jour de la semaine est "cette journée"? Par exemple, après avoir sélectionné le calendrier dans le composant du calendrier, revenez à "2014-12-22 lundi".
Ceci est un morceau de code qui s'exécute toujours en ligne
La copie de code est la suivante:
/ *
* Retournez le jour de la semaine en fonction de l'objet date
* @param {date} date
* @return {String} "Mercredi"
* /
fonction getChineseweekByDate (date) {
var numweekday = date.getDay ();
if (numweekday == 0) {
retour «dimanche»;
} else if (numweekday == 1) {
retour «lundi»;
} else if (numweekday == 2) {
retour «mardi»;
} else if (numweekday == 3) {
retour «mercredi»;
} else if (numweekday == 4) {
retour «jeudi»;
} else if (numweekday == 5) {
retour «vendredi»;
} else if (numweekday == 6) {
retour «samedi»;
} autre {
retour '';
}
}
Ce code est jugé via plusieurs succursales si les succursales et reviennent au jour de la semaine. Certains étudiants ont mentionné qu'il peut être optimisé à l'aide de Switch.
La copie de code est la suivante:
/ *
* Retournez le jour de la semaine en fonction de l'objet date
* @param {date} date
* @return {String} "Mercredi"
* /
fonction getChineseweekByDate (date) {
var numweekday = date.getDay ();
commutateur (numweekday) {
Cas 0: retour «dimanche»;
Cas 1: retour «lundi»;
Cas 2: retour «mardi»;
Cas 3: retour «mercredi»;
Cas 4: retour «jeudi»;
Cas 5: retour «vendredi»;
Cas 6: retour «samedi»;
par défaut: return '';
}
}
Par rapport à If / Else, le code est beaucoup plus simple et plus court. Quelqu'un a fait un code statistique, plus le temps du cerveau est court. Par conséquent, vous verrez diverses personnes et livres qui préconisent et louent des "codes courts" et "la voie du code concis".
"Collection de code" mentionne l'utilisation de la méthode du pilote de table pour simplifier la programmation
Méthode basée sur le tableau - La méthode basée sur la table est un mode de programmation qui recherche les informations d'un tableau sans utiliser des instructions logiques (si et commutateur). En fait, tout ce qui peut être sélectionné via des instructions logiques peut être sélectionné en recherchant le tableau. Pour les cas simples, il est plus facile et plus simple d'utiliser des instructions logiques. Mais à mesure que la chaîne logique devient de plus en plus complexe, la méthode de recherche de table devient de plus en plus attrayante.
Comme mentionné ci-dessus, en utilisant des tables pour remplacer les instructions logiques, de nombreux ingénieurs frontaux en JS ont fait de leur mieux pour éliminer les déclarations avec des expressions car ils ont appris certaines des caractéristiques des langages fonctionnels. Par exemple
1. && remplacer unique
La copie de code est la suivante:
if (a == 1) {
$ .ajax (xx)
}
// ->
(a == 1) && $ .ajax (xx)
2.?: Remplacer si / else
La copie de code est la suivante:
if (a == 1) {
$ .ajax (xx)
} autre {
$ (yy) .remove ()
}
// ->
(a == 1)? $ .ajax (xx): $ (yy) .remove ()
3. plusieurs si / else et commutateur peuvent également être remplacés par plusieurs "?:"
La copie de code est la suivante:
if (a == 1) {
alerte (1)
} else if (a == 2) {
alerte (2)
} else if (a == 3) {
alerte (3)
} autre {
alerte (4)
}
// ->
(a == 1)
? alerte (1): (a == 2)
? alerte (2): (a == 3)
? alerte (3): alerte (4)
De plus, vous pouvez également utiliser des fonctions pour éliminer récursivement pour / tandis que les instructions. Au début, j'étais accro à ces méthodes d'écriture, mais plus tard, j'ai trouvé que je ne pouvais pas le comprendre (peut-être que je lis encore moins, et mon cerveau les convertissait naturellement en phrases). En fin de compte, j'avais toujours l'habitude d'utiliser des phrases.
Essayons de remplacer la table dans "Collection de code" par un objet JS.
La copie de code est la suivante:
/ *
* Retournez le jour de la semaine en fonction de l'objet date
* @param {date} date
* @return {String} "Mercredi"
* /
fonction getChineseweekByDate (date) {
var numweekday = date.getDay ();
var semaineobj = {
'0': 'dimanche',
'1': 'lundi',
'2': 'mardi',
'3': 'mercredi',
'4': 'jeudi',
«5»: «vendredi»,
'6': 'samedi',
};
REVOIR WEDKOBJ [NUMWEEKDAY] || '';
}
Par rapport à Switch, beaucoup de code ont été réduits, mais il y a encore des clés avec 0 ~ 6. La méthode Getday revient de 0, tout comme l'index du tableau JS, et commence également à 0. Par conséquent, l'utilisation des tableaux peut être simplifié
La copie de code est la suivante:
/ *
* Retournez le jour de la semaine en fonction de l'objet date
* @param {date} date
* @return {String} "Mercredi"
* /
fonction getChineseweekByDate (date) {
var numweekday = date.getDay ();
var Weekarr = [«Sunday», «lundi», «mardi», «mercredi», «jeudi», «vendredi», «samedi»];
Retour Weekarr [numweekday] || '';
}