Para cualquier programa JavaScript, cuando el programa comienza a ejecutarse, el intérprete JavaScript inicializa un objeto global para que el programa use. Las funciones de los objetos globales proporcionados por este JavaScript en sí incluyen:
1. El objeto global tiene algunos valores de propiedad comúnmente utilizados. Como indefinido, infinito y nan.
2. El objeto global tiene algunos objetos de atributo comúnmente utilizados. Por ejemplo, los objetos matemáticos, JSON y números son todas las propiedades del objeto global.
3. El objeto global proporciona algunas funciones globales para la llamada. Por ejemplo, isnan (), isfinite (), parseInt () y eval (), etc.
4. El objeto global proporciona algunos constructores globales, es decir, clases globales. Por ejemplo, date (), regexp (), string (), object () y array ().
Además de JS Global Objects, hay otro objeto global para los programas de JavaScript que se ejecutan en el lado del navegador: Ventana. El objeto Global Window proporciona muchos atributos y métodos relacionados con la ventana y la página actuales. Además de estas propiedades y métodos globales relacionados con el navegador, el objeto de la ventana también encapsula los objetos globales JS y expone las propiedades e interfaces de los objetos globales JS al exterior; Por lo tanto, al realizar la programación JavaScript del lado del navegador, solo necesita preocuparse por los objetos globales de la ventana.
Para esto en un programa JavaScript, si esto no pertenece a ninguna función, esto se refiere al objeto JS Global; Si se trata de un programa JS que se ejecuta en el navegador, esto se refiere al objeto global de la ventana.
Si esto pertenece a una función, esto se refiere al objeto que llama a la función. Si la función es solo una función ordinaria en este caso, no un método de una determinada clase, entonces hay dos posibilidades para esta referencia:
1. Bajo el modo no riguroso del estándar ECMAScript 3 y el estándar ECMAScript 5, esto se refiere al objeto global.
2. Bajo el modo estricto del estándar Ecmascript 5, esto se refiere a indefinido.
Según esta función, puede usar el siguiente código para determinar si está actualmente en modo estricto:
La copia del código es la siguiente:
var strict = (function () {return! this;} ());
Si se crea una variable global en un programa JavaScript, entonces esta variable global se convierte en una propiedad en el objeto global.
experimento
La copia del código es la siguiente:
var a = esto;
console.log (a); // Objeto de ventana
console.log (a.outerwidth); // atributo del objeto de la ventana de acceso
console.log (a.isnan); // Access JS Global Object's Attribute
x = "prueba";
console.log (ax); // Acceda al valor variable global recién creado