Методы, определенные в ECMA-262 ed 3, безусловно, наиболее совместимы и должны поддерживаться всеми используемыми средами javascript (хотя литерал объекта не был доступен в очень раннем IE, начиная с версии 3), то есть:
Литерал объекта:
var obj = {foo: 'foo', bar: 'bar", ...}
Обозначение в квадратных скобках:
var obj = {};
obj['foo'] = 'foo';
obj['bar'] = 'bar';
Обозначение точки:
var obj = {};
obj.foo = 'foo';
obj.bar = 'bar';