Para qualquer programa JavaScript, quando o programa começa a ser executado, o intérprete JavaScript inicializa um objeto global para o uso do programa. As funções dos objetos globais fornecidos por este Javascript incluem:
1. O objeto global possui alguns valores de propriedade comumente usados. Como indefinido, infinito e nan.
2. O objeto global possui alguns objetos de atributo comumente usados. Por exemplo, objetos de matemática, JSON e numéricos são todas as propriedades do objeto global.
3. O objeto global fornece algumas funções globais para chamada. Por exemplo, isnan (), isfinite (), parseint () e avaliar (), etc.
4. O objeto global fornece alguns construtores globais, ou seja, classes globais. Por exemplo, DATE (), regexp (), string (), object () e Array ().
Além dos objetos globais JS, há outro objeto global para programas JavaScript em execução no lado do navegador: janela. O objeto global da janela fornece muitos atributos e métodos relacionados à janela e página atuais. Além dessas propriedades e métodos globais relacionados ao navegador, o objeto de janela também encapsula objetos globais JS e expõe as propriedades e interfaces dos objetos globais JS para fora; Portanto, ao executar a programação JavaScript do lado do navegador, você só precisa se preocupar com os objetos globais da janela.
Para isso em um programa JavaScript, se isso não pertence a nenhuma função, isso se refere ao objeto global JS; Se for um programa JS em execução no navegador, isso se refere ao objeto global da janela.
Se isso pertence a uma função, isso se refere ao objeto que chama a função. Se a função é apenas uma função comum neste caso, não um método de uma determinada classe, existem duas possibilidades para esta referência:
1. Sob o modo não rigoroso do padrão ECMAScript 3 e do padrão ECMAScript 5, refere-se ao objeto global.
2. No modo estrito do padrão Ecmascript 5, isso se refere a indefinido.
Com base nesse recurso, você pode usar o código a seguir para determinar se está atualmente no modo rigoroso:
A cópia do código é a seguinte:
var stryt = (function () {return! this;} ());
Se uma variável global for criada em um programa JavaScript, essa variável global se tornará uma propriedade no objeto global.
experimentar
A cópia do código é a seguinte:
var a = this;
console.log (a); // objeto de janela
console.log (a.outerwidth); // atributo do objeto da janela de acesso
console.log (a.isnan); // Access JS Global Object's Attribui
x = "teste";
console.log (ax); // Acesse o valor variável global recém -criado