Compartilhar via


JScript de objeto

Todos os objetos JScript com base na Object suporte do objeto expando propriedades ou propriedades que podem ser adicionadas e removidas enquanto o programa estiver sendo executado.

Usando o objeto

Essas propriedades podem ter qualquer nome, incluindo os números. Um nome de uma propriedade que é um identificador simple pode ser gravado após um período que segue o nome do objeto, como:

var myObj = new Object();
// Add two expando properties, 'name' and 'age'
myObj.name = "Fred"; 
myObj.age = 53;

Você também pode acessar as propriedades de um objeto usando o operador de índice, []. Isso é necessário se o nome da propriedade não é um identificador simples, ou se o nome da propriedade não for conhecido quando você escreve o script. Uma expressão arbitrária, incluindo um identificador simples, dentro de colchetes pode indexar a propriedade. Os nomes de todas as propriedades de expando no JScript são convertidos em seqüências de caracteres antes de serem adicionados ao objeto.

Ao usar o operador de índice, o objeto é tratado como uma matriz associativa. Uma matriz associativa é uma estrutura de dados que associa os valores de dados arbitrários dinamicamente as seqüências de caracteres. Neste exemplo, expando propriedades são adicionadas, que não têm identificadores simples.

var myObj = new Object();
// This identifier contains spaces.
myObj["not a simple identifier"] = "This is the property value";
// This identifier is a number.
myObj[100] = "100";

Embora o operador de índice é mais comumente associado ao acessar os elementos de matriz, o índice é sempre o nome da propriedade expresso como uma seqüência de caracteres literal, quando usada com objetos.

Arrayos objetos têm um especial comprimento propriedade muda quando novos elementos são adicionados; em geral, objetos não possuem uma propriedade de comprimento, mesmo quando o operador de índice é usado para adicionar propriedades.

Observe a diferença importante entre as duas maneiras de acessar as propriedades do objeto.

Operador

O nome da propriedade é tratado como

O que significa que o nome da propriedade

Ponto (.)

Um identificador

Não pode ser manipulada como dados

Índice ([])

Uma seqüência de caracteres literal

Podem ser manipulados como dados

Essa diferença se torna útil quando você não souber os nomes de propriedade até que o tempo de execução (por exemplo, durante a construção de objetos com base na entrada do usuário). Para extrair todas as propriedades de uma matriz associativa, você deve usar o para... em loop.

Consulte também

Referência

Objeto

Outros recursos

Objetos intrínsecos