No JavaScript, exceto por número, string, booleano, nulo e indefinido, todos os outros valores são objetos. Os objetos podem ser declarados diretamente por meio de literais ou recém -criados através do novo operador. Ao contrário da linguagem Java, as propriedades em objetos JavaScript podem ser adicionadas ou excluídas dinamicamente; Ao mesmo tempo, as propriedades em objetos também podem ser strings vazios:
A cópia do código é a seguinte:
// As propriedades no objeto podem ser adicionadas/excluídas dinamicamente
var o = {x: 1, y: 2};
console.log (o); // objeto {x = 1, y = 2}
excluir oy;
oz = 3;
console.log (o); // objeto {x = 1, z = 3}
// string vazia é permitida como propriedade do objeto
var o2 = {"": 88, "p": 99};
console.log (O2); // Objeto {= 88, p = 99}
// Para função do construtor, a operação "nova" retorna um objeto.
função computador (x, y) {
this.x = x;
this.y = y;
}
var c = novo computador (126, 163);
console.log (c); // computador {x = 126, y = 163}
var c2 = novo computador (126); // O valor do parâmetro ausente será "indefinido"
console.log (c2); // computador {x = 126, y = indefinido}
CZ = 66;
console.log (c); // computador {x = 126, y = 163, z = 66}
excluir cy;
console.log (c); // computador {x = 126, z = 66}
Se a função que funciona não for um construtor de classe, mas for apenas uma função comum ao usar o novo operador para criar um novo objeto, o JavaScript retornará um objeto vazio após a execução da função:
A cópia do código é a seguinte:
// Para uma função pura, a operação "nova" retorna um objeto vazio.
função compute (x) {
console.log ("Executar função computa");
retornar x*2;
}
var a = new Compute ();
console.log (a); // compute {}
Propriedade do objeto
O objeto em JavaScript possui as seguintes 3 propriedades:
1.Prototipo. Referência, apontando para o protótipo objeto do objeto. A propriedade no objeto de protótipo pode ser herdada pelo objeto.
2.Class. Uma string, representando o nome da classe do objeto.
3. Extensível. valor booleano, indicando se a adição dinâmica de propriedades é permitida no objeto. Esta propriedade é válida apenas no ECMAScript 5.
Propriedades da propriedade
A propriedade em objeto também possui 3 propriedades:
1.Widade. Esta propriedade é gravável?
2.Numerável. Ao usar a declaração for/in, a propriedade será enumerada?
3.Configurável. Se as propriedades da propriedade podem ser modificadas e se a propriedade pode ser excluída.