El objeto de fecha tiene un método GetDay, que devuelve el día de la semana en una fecha específica basada en la hora local. El valor de retorno es de 0 ~ 6, correspondiente al domingo ~ sábado
GetDay0123456
¿Qué día Domingo lunes martes miércoles jueves viernes sábado
Al usar los requisitos relacionados con la fecha, debe convertir el valor devuelto por Getday al día de la semana, es decir, ¿qué día de la semana es "este día"? Por ejemplo, después de seleccionar el calendario en el componente del calendario, regrese al "2014-12-22 el lunes".
Este es un código que todavía se ejecuta en línea
La copia del código es la siguiente:
/*
* Regrese el día de la semana de acuerdo con el objeto de la fecha
* @param {fecha} fecha
* @return {string} "miércoles"
*/
función getChineseWeekByDate (fecha) {
var numweekday = date.getday ();
if (numweekday == 0) {
regresar 'domingo';
} else if (numweekday == 1) {
regresar 'lunes';
} else if (numweekday == 2) {
regresar 'martes';
} else if (numweekday == 3) {
regresar 'miércoles';
} else if (numweekday == 4) {
regresar 'jueves';
} else if (numweekday == 5) {
regresar 'viernes';
} else if (numweekday == 6) {
regreso 'sábado';
} demás {
devolver '';
}
}
Este código se juzga a través de múltiples ramas y regresa al día de la semana. Algunos estudiantes mencionaron que se puede optimizar usando Switch.
La copia del código es la siguiente:
/*
* Regrese el día de la semana de acuerdo con el objeto de la fecha
* @param {fecha} fecha
* @return {string} "miércoles"
*/
función getChineseWeekByDate (fecha) {
var numweekday = date.getday ();
Switch (numweekday) {
Caso 0: regreso 'domingo';
Caso 1: regreso 'lunes';
Caso 2: regreso 'martes';
Caso 3: regreso 'miércoles';
Caso 4: regreso 'Jueves';
Caso 5: regreso 'viernes';
Caso 6: regreso 'Sábado';
predeterminado: return '';
}
}
En comparación con IF/Else, el código es mucho más simple y más corto. Alguien ha hecho un código estadístico, cuanto más corto piense el cerebro. Por lo tanto, verá a varias personas y libros que abogan y elogian "códigos cortos" y "el camino del código conciso".
La "colección de códigos" menciona el uso del método del controlador de tabla para simplificar la programación
Método basado en la tabla: el método basado en la tabla es un modo de programación que busca información desde una tabla sin usar declaraciones lógicas (si y conmutador). De hecho, cualquier cosa que se pueda seleccionar a través de declaraciones lógicas se puede seleccionar buscando la tabla. Para casos simples, es más fácil y más sencillo usar declaraciones lógicas. Pero a medida que la cadena lógica se vuelve cada vez más compleja, el método de búsqueda de tabla se vuelve cada vez más atractivo.
Como se mencionó anteriormente, utilizando tablas para reemplazar las declaraciones lógicas, muchos ingenieros front-end en JS han hecho todo lo posible para eliminar las declaraciones con expresiones, ya que han aprendido algunas de las características de los idiomas funcionales. Por ejemplo
1. && reemplazar single si
La copia del código es la siguiente:
if (a == 1) {
$ .AJAX (XX)
}
// ->
(a == 1) && $ .AJAX (xx)
2. ?: sustituto si/else
La copia del código es la siguiente:
if (a == 1) {
$ .AJAX (XX)
} demás {
$ (yy) .remove ()
}
// ->
(a == 1)? $ .AJAX (xx): $ (yy) .remove ()
3. Múltiples si/else y el cambio también se puede reemplazar con múltiples "?:"
La copia del código es la siguiente:
if (a == 1) {
alerta (1)
} else if (a == 2) {
alerta (2)
} else if (a == 3) {
Alerta (3)
} demás {
alerta (4)
}
// ->
(a == 1)
? alerta (1): (a == 2)
? alerta (2): (a == 3)
? alerta (3): alerta (4)
Además, también puede usar funciones para eliminar recursivamente para/while declaraciones. Al principio era adicto a estos métodos de escritura, pero luego descubrí que no podía entenderlo (tal vez todavía leía menos, y mi cerebro siempre lo convirtió naturalmente en oraciones). Al final, todavía estaba acostumbrado a usar oraciones.
Intentemos reemplazar la tabla en la "colección de códigos" con un objeto JS.
La copia del código es la siguiente:
/*
* Regrese el día de la semana de acuerdo con el objeto de la fecha
* @param {fecha} fecha
* @return {string} "miércoles"
*/
función getChineseWeekByDate (fecha) {
var numweekday = date.getday ();
var Weekobj = {
'0': 'domingo',
'1': 'lunes',
'2': 'martes',
'3': 'miércoles',
'4': 'jueves',
'5': 'viernes',
'6': 'Sábado',
};
Volver Weekobj [numweekday] || '';
}
En comparación con Switch, se ha reducido mucho código, pero todavía hay claves con 0 ~ 6. El método GetDay regresa de 0, al igual que el índice de matriz JS, y también comienza desde 0. Por lo tanto, el uso de matrices se puede simplificar
La copia del código es la siguiente:
/*
* Regrese el día de la semana de acuerdo con el objeto de la fecha
* @param {fecha} fecha
* @return {string} "miércoles"
*/
función getChineseWeekByDate (fecha) {
var numweekday = date.getday ();
var Weekarr = ['domingo', 'lunes', 'martes', 'miércoles', 'jueves', 'viernes', 'sábado'];
Return Weekarr [numweekday] || '';
}