2008/11/19(水)javascriptのpro...
前と同じ罠にはまってしまった...
なにやってるんだか.
A = function(){}
A.prototype = {
pos: {x:0, y:0}
}
a = new A();
b = new A();
a.pos.x = 10; a.pos.y = 20;
b.pos.x = 30; b.pos.y = 40;
a.pos.x; // -> 30;
a.pos.y; // -> 40;
b.pos.x; // -> 30;
b.pos.y; // -> 40;
正しくは↓の通り。
A = function(){
this.pos = {x:0, y:0};
}
A.prototype = {
pos: null
}
a = new A();
b = new A();
a.pos.x = 10; a.pos.y = 20;
b.pos.x = 30; b.pos.y = 40;
a.pos.x; // -> 10;
a.pos.y; // -> 20;
b.pos.x; // -> 30;
b.pos.y; // -> 40;
一度,以前作ったプログラムも見直した方がいいかもしれない