w3schools track the that tag para generates different are 3school javascript global-variables

javascript - track - which are the different events that the video tag generates



¿Cómo lidiar limpiamente con variables globales? (3)

Tengo varias páginas aspx (más de 50). Necesito declarar un número (5-7) de variables globales en cada una de estas páginas. Las variables en una página son independientes de las otras, aunque algunas pueden ser iguales.

Actualmente estoy declarando en la parte superior de la página y fuera de cualquier función.

¿Debo abordar esto de manera diferente y hay algún efecto secundario de este enfoque?

Si es un duplicado exacto, házmelo saber. Gracias


Como dice @mplungjan, la mejor práctica es evitar las variables globales tanto como sea posible.

Como window es global, puede declarar un espacio de nombre en cualquier momento y dentro de cualquier función usando window.NAMESPACE = {};

Luego puede acceder a NAMESPACE globalmente y establecer sus valores en él como propiedades, desde dentro de la misma u otra función:

NAMESPACE = { var1:"value", var2:"value" /* etc */ };

Si puede hacer todo esto dentro de los archivos de script en lugar de hacerlo directamente en su página, tanto mejor, sin embargo, supongo que es posible que no tenga los valores disponibles en un script estático.


Es una buena práctica no saturar el alcance global. Especialmente dado que otros frameworks o scripts drop-in pueden contaminar o sobrescribir sus vars.

Crea un espacio de nombres para ti

http://www.javascripttoolbox.com/bestpractices/#namespace

Más aquí: https://.com/search?q=namespace+javascript+global

Algunos ejemplos que utilizan diferentes métodos de configuración de los vars

myOwnNS = {}; // or window.myOwnNS myOwnNS.counter = 0; myOwnNS["page1"] = { "specificForPage1":"This is page 1"} myOwnNS.page2 = { "specificForPage2":"This is page 2", "pagenumber":2} myOwnNS.whatPageAmIOn = function { return location.href.substring(location.href.lastIndexOf(''page'')+4)}


Un enfoque sería declarar la variable en el nivel "raíz", es decir, fuera de cualquier bloque de código antes de que cualquier otro código JS intente acceder a él.

Puede establecer variables globales usando window.variablename = value; para mantenerlo limpio por lo menos superficialmente.