Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 12538|Respuesta: 1

[JavaScript] JavaScript{filter}t Performance Optimization

[Copiar enlace]
Publicado en 4/12/2017 20:23:14 | | |
1. Respetar la propiedad del objeto
 No añadir atributos a instancias o prototipos;
 No añadir métodos a instancias o prototipos;
 No redefinas métodos que ya existen.
La mejor manera de hacerlo es no modificar nunca objetos que no sean tuyos. Poseer un objeto significa que tú lo creaste, como un tipo personalizado o un objeto literal que tú mismo creaste. Los arrays y documentos obviamente no son tuyos, existen antes de que tu código se ejecute.
2. Evitar variables globales
Crear una variable global como mucho, permitiendo que otros objetos y funciones existan en ella. Echa un vistazo a los siguientes ejemplos:
//两个全局量——避免!!
nombre var = "Nicholas";
función sayName(){
alerta(nombre);
}
Este código contiene dos cantidades globales: el nombre de la variable y la función sayName(). De hecho, puedes crear un objeto que contenga ambos, como se muestra en el siguiente ejemplo:
//一个全局量——推荐
var MyApplication = {
name: “Nicholas”,
sayName: function(){
alerta(this.name);
}
};
3. Evitar comparar con nulo
 Si el valor debe ser un tipo de referencia, use el operador instanceof para comprobar su constructor;
 Si el valor debe ser un tipo base, use typeof para comprobar su tipo;
 Si quieres que el objeto contenga un nombre específico de método, usa el operador typeof para asegurarte de que el método con el nombre especificado existe en el objeto.
(Aquí recomiendo mi grupo de aprendizaje e intercambio de front-end web: 675498134, seas novato o un dios, te invito a venir a aprender, comunicarte y compartir productos secos de vez en cuando, incluyendo los últimos materiales y tutoriales de front-end que he compilado para dártelo, y hay expertos técnicos que explican el conocimiento de front-end en directo cada día. Tanto principiantes como amigos avanzados son bienvenidos a aprender, comunicarse juntos y avanzar juntos. )
4. Usar constantes
Aunque Javascrip{filter}t no tiene un concepto formal de constantes, es útil. Esta idea de separar los datos de la lógica de la aplicación puede modificar los datos sin arriesgarse a introducir errores. Echa un vistazo a los siguientes ejemplos:
var Constantes = {
INVALID_VALUE_MSG: "¡Valor inválido!",
INVALID_VALUE_URL: "/errores/invalid.php"
};
función validate(value){
si (!value){
alerta(Constants.INVALID_VALUE_MSG);
locatio{filter}n.href = Constants.INVALID_VALUE_URL;
}
}
5. Evitar la búsqueda global
Probablemente lo más importante para optimizar el rendimiento de los scripts es prestar atención a las búsquedas globales. Usar variables y funciones globales es definitivamente más caro que lo local porque implica búsquedas en la cadena de alcance. Echa un vistazo a la siguiente función:
function updateUI(){
var imgs = document.getElementsByTagName("img");
para (var i=0, len=imgs.length; Yo < Len; i++){
imgs[i].title = document.title + " imagen " + i;
}
var msg = document.getElementById("msg");
msg.innerHTML = "Actualización completada.";
}
La función puede parecer perfectamente correcta, pero contiene tres referencias al objeto documento global. Si hay varias imágenes en la página, la referencia al documento en el bucle for se ejecutará varias o incluso cientos de veces, cada vez que se realizará una búsqueda en cadena de ámbito. Creando una variable local que apunta al objeto documento, puedes mejorar el rendimiento de esta función limitando una consulta global una vez:
function updateUI(){
var doc = document;
var imgs = doc.getElementsByTagName("img");
para (var i=0, len=imgs.length; Yo < Len; i++){
imgs[i].title = doc.title + " image " + i;
}
var msg = doc.getElementById("msg");
msg.innerHTML = "Actualización completada.";
Aquí, primero coloca el objeto documento en la variable doc local; Luego sustituye el documento original por el resto del código. Comparado con la versión original, la función actual solo tiene una consulta global, que es definitivamente más rápida.
6. Otras precauciones para el rendimiento
 Los métodos nativos son más rápidos - Siempre que sea posible, usa el método nativo en lugar de reescribir uno tú mismo con Javascrip{filter}t. El método nativo está escrito en un lenguaje compilado como C/C++, por lo que es mucho más rápido que Javascrip{filter}t. Lo más olvidado de Javascrip{filter}t es la compleja matemática que se puede encontrar en los objetos Math; Estos métodos son mucho más rápidos que cualquier otro escrito con Javascrip{filter}t, como el seno y el coseno.
 Las sentencias switch son más rápidas - Si tienes una serie de sentencias if-else complejas, puedes obtener código más rápido convirtiéndolas en una sola sentencia switch. También puedes refinar aún más la declaración de cambio organizando la declaración de caso en orden de más probable a menos probable.
 Los operadores de bits son más rápidos - Al realizar operaciones matemáticas, las operaciones de bits son más rápidas que cualquier operación booleana o aritmética. Sustituir selectivamente operaciones aritméticas por operaciones de bits puede mejorar enormemente el rendimiento de cálculos complejos. Lógicas como la lógica de módulo, lógica y lógica de suma pueden considerarse reemplazadas por operaciones de bits.

Puntuación

Número de participantes1MB+1 contribuir+1 Colapso razón
QWERTYU + 1 + 1 Apoya al propietario para que publique una buena publicación, ¡y yo también publicaré una buena publicación!

Ver todas las valoraciones





Anterior:SQL Server exporta los datos especificados con condiciones
Próximo:Los novatos juegan algo de tecnología negra en CSS
Publicado en 5/12/2017 9:33:13 |
aprendido            
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com