我想在JavaScript来定义多维对象与下面的代码:JavaScript的多维对象
function A(one, two) {
this.one = one;
this.inner.two = two;
}
A.prototype = {
one: undefined,
inner: {
two: undefined
}
};
A.prototype.print = function() {
console.log("one=" + this.one + ", two=" + this.inner.two);
}
var a = new A(10, 20);
var b = new A(30, 40);
a.print();
b.print();
结果是:
one=10, two=40
one=30, two=40
,但我希望
one=10, two=20
one=30, two=40
我在做什么错? 变量inner
是一个类变量,而不是一个实例?
JavaScript引擎:Google V8。
在JavaScript中思考时并不认为''instance'就'scope'而言。 – Hogan 2011-05-09 17:33:48
@霍根,好点。重要的是要记住,虽然JS的结构看起来像类,但它们确实是一流的对象,需要像这样对待。 – 2011-05-09 17:44:48