JavaScript tiene una mala reputación en Internet, pero es difícil para usted encontrar otro idioma como es tan dinámico, tan ampliamente utilizado, tan arraigado en nuestras vidas. Su umbral de aprendizaje bajo ha hecho que muchas personas lo llamen un idioma de secuencia de comandos preescolar. Otra cosa que hace reír a la gente es el concepto de lenguaje dinámico que utiliza altos estándares de tipos de datos estáticos. En realidad, tanto tú como JavaScript han tomado la posición equivocada, y ahora haces que JavaScript esté muy enojado. Aquí hay cinco razones por las cuales su tecnología JavaScript es terrible.
1. No estás usando un espacio de nombres.
¿Todavía recuerdas que en los maestros universitarios le dijeron que no usara variables globales en su tarea? El uso de variables globales en JavaScript no es una excepción. Si no tiene cuidado, se convertirá en caótico y hay scripts desordenados y bibliotecas de guiones que se encuentran en cada rincón de Internet. Si nombra un cargador variable (), entonces está causando problemas deliberadamente. Si sobrecarga una función inconscientemente, JavaScript no le recordará en absoluto. También lo llamas un lenguaje de programación preescolar, ¿recuerdas? Lo que voy a decir es que necesitas saber qué sucede después de hacer esto.
La copia del código es la siguiente:
función derp () {alerta ("one"); }
función derp () {alerta ("dos"); }
derp ();
"Dos", la respuesta es "Dos". No es necesariamente el caso, puede ser "uno". Por lo tanto, es fácil poner todo su código en su propio espacio de nombres. Aquí hay una manera simple de definir su propio espacio de nombres.
La copia del código es la siguiente:
var foospace = {};
foospace.derp = function () {alert ("one"); }
función derp () {alerta ("dos"); }
foospace.derp ();
2. Estás haciendo trucos, defines variables una por una.
Su uso de una combinación inexplicable de números como nombres variables es un final perdido. Buscar una variable de caracteres sin ningún significado en un bloque de código de 40 líneas es una pesadilla para el mantenimiento. Mezclar la primera declaración de una variable en un bloque de código de 40 líneas también es una pesadilla. Incluso cuando te encuentras con una variable tan variable, no puedes evitar preguntarte: "¿Dónde está esto definido?", Y luego usa rápidamente la combinación CTRL+F para encontrar la definición inicial de esta variable en el código fuente. No, no hagas esto, por el contrario, es un abuso de JavaScript y un enfoque estúpido. Siempre debe definir la variable en la parte superior de su alcance de uso. No se puede decir eso porque esto no es necesario, no puedes hacerlo.
La copia del código es la siguiente:
función(){
var a, // Descripción
b; //descripción
//proceso…
}
3. No comprende el alcance variable de JavaScript.
Eres un programador genio, comes C ++ y saca la lista. Sabes qué son los rangos de variables, tienes un control completo sobre tus variables y las estás observando como el emperador supremo. Sin embargo, JavaScript tira una mierda en tu café y se ríe sin cesar.
La copia del código es la siguiente:
var herp = "uno";
{
var herp = "dos";
}
alerta (herp);
En este caso, obtienes herp no es "uno", sino "dos". El rango válido de la variable de JavaScript no depende de bloques de código como otros idiomas. Los rangos variables de JavaScript se basan en funciones. Cada función tiene su propio rango variable, y JavaScript es genial de esta manera, ignorando el alcance envuelto en aparatos ortopédicos sin sentido. De hecho, JavaScript es tan genial que incluso puede pasar ámbitos variables como espacios de nombres o variables.
4. Usted cree que las características orientadas a objetos de JavaScript están injertadas.
Javascript, desde su inicio, ha sido un lenguaje orientado a objetos. ¡Todo es un objeto en JavaScript, todo! Incluso los símbolos literales, como los números y los personajes, se pueden convertir en objetos a través de su propio constructor inherente. En comparación con otros idiomas orientados a objetos, JavaScript es diferente en que no tiene clases. Los objetos JavaScript se definen como funciones, e incluso las funciones en sí mismas son objetos. JavaScript tiene una propiedad llamada prototipo. Esta propiedad está integrada en todos los objetos. Puede cambiar la construcción del objeto, modificar el objeto, agregar más variables y más funciones.
La copia del código es la siguiente:
var derp; // celebrará una instancia de herp
var herp = function () {
this.opinion = ”JavaScript es más genial que básico”;
}
Herp.prototype.speak = function () {alert (this.opinion); }
var derp = new Herp ();
derp.speak ();
Si esto parece no tener nada que ver contigo, me gustaría presentarte a mi buen amigo Google, lo cual es bueno para ayudar a las personas a aprender conocimiento. Orientado a objetos es un gran tema para mi artículo corto y de baja postura.
5. Cuando usas la "nueva" palabra clave, es como un hombre ciego y un caballo ciego.
JavaScript debe ser tu primera novia amorosa porque pareces perdido. Si desea complacer a JavaScript como una persona real, debe comprender los símbolos de los objetos. Básicamente, no necesita usar la nueva palabra clave, excepto cuando necesita instanciar un objeto, o en casos raros donde los datos se cargan de manera retrasada. Asignar una gran cantidad de nuevas direcciones variables en JavaScript es una operación muy lenta, y por razones de eficiencia, siempre debe usar símbolos de objetos.
La copia del código es la siguiente:
Var a la derecha = [1, 2, 3];
var Wrightway = nueva matriz (1, 2, 3);
¿Recuerdas que dije que el rango variable de JavaScript se basa en funciones? ¿Recuerdas a alguien que dice que los objetos JavaScript se definen como funciones? Si no usa la nueva palabra clave para declarar un objeto, hará de este objeto un alcance global. Por lo tanto, es un buen hábito usar siempre la nueva palabra clave para declarar objetos.
La copia del código es la siguiente:
var derp = "uno";
var herp = function () {
this.derp = ”dos”;
}
var foo = herp ();
alerta (derp);
Si escribes de esta manera, a JavaScript no le importará, ¡y la respuesta que realmente aparece es "dos"! Hay muchas maneras de evitar que los objetos hagan dicho comportamiento, que se puede usar para usar instancia, pero una mejor manera es usar la nueva palabra clave correctamente, lo que la hace más profesional.
Ahora sabe que su código JavaScript es terrible, y si recuerda lo que se dice anteriormente, su código mejorará. Me gusta usar 3 teclas de pestañas para sangrar el código, me gusta usar subrayos para conectar palabras, me gusta capitalizar la letra inicial de la función para indicar que es un objeto. Por supuesto, esta es otra discusión. Hay muchas razones por las cuales su código JavaScript es malo, al igual que tengo muchas habilidades, por lo que puedo expresar sus opiniones, apoyo, objeción y darme algunos consejos en los comentarios.
Muchas gracias a Rogeliorv y Jared Wein por señalar los errores en el punto 5. Eres muy fuerte.