Manual de referência global do JavaScript

As funções e propriedades globais do JavaScript podem ser usadas em todos os objetos JavaScript integrados.

Propriedades globais do JavaScript

Propriedade Descrição
Infinity Representa valores numéricos infinitos positivos ou negativos.
NaN Valor "Não é número" ("Not-a-Number").
undefined Representa o valor da variável não atribuído.

Funções globais do JavaScript

Função Descrição
decodeURI() Decodificar URI.
decodeURIComponent() Decodificar componentes de URI.
encodeURI() Codificar URI.
encodeURIComponent() Codificar componentes de URI.
escape() Descontinuado na versão 1.5.Use encodeURI() ou encodeURIComponent() Substituir.
eval() Avaliar a string e executá-la como código de script.
isFinite() Determinar se o valor é um número legítimo e finito.
isNaN() Determinar se o valor é um número ilegítimo.
Number() Converter o valor do objeto em um número.
parseFloat() Analisar a string e retornar um número de ponto flutuante.
parseInt() Analisar a string e retornar um inteiro.
String() Converter o valor do objeto em uma string.
unescape() Descontinuado na versão 1.5.Use decodeURI() ou decodeURIComponent() Substituir.

Função ou método?

É significativo chamar funções globais ao invés de métodos globais, porque as funções são chamadas globalmente, não pertencendo a nenhum objeto.

De qualquer maneira, você também pode chamar esses métodos de função, porque eles são métodos do objeto global do ambiente de execução. No navegador da Web, o objeto global é a janela do navegador. Portanto, isNaN() é realmente um método da janela: window.isNaN().

Descrição do objeto global

O objeto global é um objeto pré-definido, que serve como suporte para as funções e propriedades globais do JavaScript. Através do objeto global, é possível acessar todos os outros objetos, funções e propriedades pré-definidos. O objeto global não é propriedade de nenhum objeto, portanto não tem nome.

No código JavaScript de nível superior, pode-se usar a palavra-chave this para se referir ao objeto global. Mas geralmente não é necessário fazer isso, porque o objeto global é o cabeçalho da cadeia de escopo, o que significa que todos os nomes de variáveis e funções não restritos serão consultados como propriedades deste objeto. Por exemplo, quando o código JavaScript se refere à função parseInt(), ele se refere à propriedade parseInt do objeto global. O objeto global é o cabeçalho da cadeia de escopo, o que também significa que todas as variáveis declaradas no código JavaScript de nível superior se tornarão propriedades do objeto global.

O objeto global é apenas um objeto, não uma classe. Não há construtor e não é possível instanciar um novo objeto global.

Quando o código JavaScript é inserido em um ambiente especial, o objeto global geralmente possui propriedades específicas do ambiente. Na verdade, o padrão ECMAScript não define o tipo do objeto global, a implementação do JavaScript ou o JavaScript embarcado podem usar qualquer tipo de objeto como objeto global, desde que o objeto defina os atributos e funções básicos listados aqui. Por exemplo, em uma implementação do JavaScript que permite scripts Java através de LiveConnect ou tecnologias relacionadas, o objeto global é atribuído às propriedades java e Package listadas aqui, além do método getClass(). No JavaScript do cliente, o objeto global é o objeto Window, que representa a janela do navegador que permite o código JavaScript.

Exemplo

No idioma nuclear do JavaScript, as propriedades predefinidas do objeto global são não enumeráveis, todas podem ser listadas por meio de um loop for/in todas as variáveis globais implicitamente ou explicitamente declaradas, conforme mostrado a seguir:

var variables = "";
for (var name in this) 
{
variables += name + "<br />";
}
document.write(variables);

Experimente você mesmo