false.toString (); // 'false' [1, 2, 3] .ToString (); // '1,2,3'Function foo () {} foo.bar = 1; foo.bar; // 1Uma coisa que muitas vezes é mal interpretada é que as constantes numéricas não podem ser consideradas como objetos, mas de fato constantes numéricas ainda podem ser consideradas objetos. Isso ocorre porque o analisador JavaScript comete um erro ao analisar os operadores de pontos e os trata como recursos de ponto flutuante.
2.ToString (); // Aumenta a SyntaxError
De fato, temos muitas maneiras de fazer um constante numérico se comportar como um objeto.
2..ToString (); // O segundo ponto é reconhecido corretamente2 .ToString (); // observe o espaço deixado para o ponto (2) .ToString (); // 2 é avaliado primeiro
Objeto como tipo de dados
Os objetos no JavaScript podem ser usados como tabelas de hash e contêm principalmente a relação correspondente entre chaves e valores.
Use o símbolo {} para criar um objeto simples. Este objeto recém -criado herdará do object.prototype e não contém propriedades que se define.
var foo = {}; // um novo objeto vazio // um novo objeto com uma propriedade 'teste' com valor 12Var bar = {test: 12};Acesse as propriedades do objeto
Podemos usar duas maneiras de acessar objetos JavaScript, a saber, o operador DOT. e o operador de suporte [].
var foo = {nome: 'kitten'} foo.name; // kittenfoo ['nome']; // kittenvar get = 'nome'; foo [get]; // kittenfoo.1234; // SyntaxErrorFoo ['1234']; // funcionaOs efeitos dos dois operadores são quase os mesmos, a única diferença é que o operador de suporte permite configurações dinâmicas de propriedades e os nomes de atributos podem ter erros de sintaxe. (O terceiro caso no exemplo acima foi explicado)
Exclua as propriedades do objeto
A única maneira de excluir uma propriedade é usar excluir, definir o valor da propriedade para indefinido ou nulo, basta remover o valor associado à propriedade e não exclui realmente a própria propriedade.
var obj = {bar: 1, foo: 2, baz: 3}; obj.bar = indefinido; obj.foo = null; excluir obj.baz; para (var i em obj) {if (obj.HasownProperty (i)) {console.log (i, '' + +j [i]; }}A barra de saída acima indefinida e foo nula, apenas o Baz é realmente excluído.
Deve -se explicar aqui que excluir apenas atributos, não variáveis. Portanto, ao definir variáveis, devemos desenvolver o bom hábito de escrever var. A qualquer momento, as variáveis devem ser declaradas usando a palavra -chave var. Porque se você não escrever VAR, a variável será confundida com o objeto global e criará uma nova propriedade.
Este exemplo fornece a resposta claramente, A é uma variável e B é apenas uma propriedade de um objeto global.
Propriedades de objetos nomeados
var teste = {'case': 'eu sou uma palavra -chave, então devo ser notado como uma string', exclua: 'Eu sou uma palavra -chave, então eu também' // levanta o SyntaxError};As propriedades de um objeto podem ser nomeadas com caracteres ou strings normais. Também devido a um design errado do analisador JavaScript, o segundo método de representação no exemplo acima lançará um erro no ECMAScript 5.
O motivo do erro é que excluir uma palavra -chave; portanto, uma constante de string deve ser nomeada para se adaptar à versão antiga do analisador JavaScript.