Это , а не"нотация JSON", это JavaScript буквенная нотация объекта . JSON является лишь подмножеством буквенной нотации объектов JS, но кроме того, что они похожи, они не имеют ничего общего. JSON используется как формат обмена данными , как XML.
Невозможно, что вы хотите сделать.
var myObject = {};
уже создает объект. Там нет ничего, что вы можете создать экземпляр.
Однако вы можете создать функцию конструктора и добавить методы к ее прототипу:
function MyObject(arg1, arg2) {
// this refers to the new instance
this.arg1 = arg1;
this.arg2 = arg2;
// you can also call methods
this.funca(arg1);
}
MyObject.prototype = {
funca : function() {
// can access `this.arg1`, `this.arg2`
},
funcb : function() {
// can access `this.arg1`, `this.arg2`
}
};
Каждый объект, который вы создаете с помощью new MyObject()
, будет наследовать свойства прототипа (фактически, экземпляры просто получают ссылку на объект-прототип).
Подробнее об объектах JavaScript и наследовании:
Update2:
Если вам нужно создать множество объектов одного типа, используйте функцию конструктора + прототип. Если вам нужен только один объект (например, синглтон), тогда нет необходимости использовать функцию конструктора (большую часть времени). Вы можете напрямую использовать объектную литеральную нотацию для создания этого объекта.