我正在定义一个javascript对象并设置其属性和方法,如下所示:
function MyObject()
{
this.prop1 = 1;
this.prop2 = 2;
this.meth1=meth1;
}
function meth1()
{
// do soemthing
}
一切都很好。我的问题是如何让对象成为MyObject的属性?我实际上想要一个'关联数组'作为这些行的属性:
function MyObject()
{
this.obj['x'] = 'val1';
this.obj['y'= = 'val2';
this.prop1 = 1;
this.prop2 = 2;
this.meth1=meth1;
}
我尝试在MyObject中声明obj,如下所示:obj = new Object
;没有运气,obj不被解释为财产。
关于我做错了什么的线索?
感谢
答案 0 :(得分:1)
你的意思是:
function MyObject() {
this.obj = {'x': 'val1', 'y': 'val2'};
this.prop1 = 1;
this.prop2 = 2;
this.meth1=meth1;
}
现在你可以说:
new MyObject().obj.x //`val1`
替代语法:
this.obj = {};
this.obj.x = 'val1';
this.obj.y = 'val2';
答案 1 :(得分:0)
使用对象文字表示法通常最简单:
function MyObject()
{
// obj as an object literal
this.obj = {
x: "val1",
y: "val2",
z: "val3"
};
this.prop1 = 1;
this.prop2 = 2;
this.meth1=meth1;
}