Следующие два варианта создания объекта эквивалентны:
Code
// эквивалентные записи
var o = new Object()
var o = {}
Есть два синтаксиса добавления свойств в объект. Первый - точка, второй - квадратные скобки:
Code
// эквивалентные записи
o.test = 5
o["test"] = 5
Квадратные скобки используются в основном, когда название свойства находится в переменной:
Code
var name = 'test'
o[name] = 5
Здесь имя свойства "test" является ключом в ассоциативном массиве, по которому лежит значение 5. Доступ к свойству осуществляется точно так же:
Code
alert(o.test)
alert(o['test'])
Если у объекта нет такого свойства, то результат будет 'undefined'
Code
var o = {}
alert(o.nosuchkey) // => undefined
Никакой ошибки при обращении по несуществующему свойству не будет, просто вернется специальное значение undefined. Удаляет свойство оператор delete:
Code
o.test = 5
delete o.test
o['bla'] = true