Q&A
javascriptの練習をしていたところ、分からないところがあったので質問します。
下記のコードを実行してコンソールを確認すると、10回とも同じ数値が出力されます。これは何が原因で起こっている現象なのでしょうか?
###該当のソースコード
window.onload = function(){ var array = []; for(var i = 0; i < 10; i++){ array[i] = new A ({x:Math.random()*10,y:Math.random()*10}); } for(var i = 0; i < array.length; i++){ console.log(array[i].a.x); } }; function A(){this.inisialize.apply(this,arguments);} A.prototype = { a : {x:0,y:0}, inisialize : function(option){ this.a.x = option.x; this.a.y = option.y; } }
###試したこと
this.a.x = option.x; this.a.y = option.y;
の部分を
this.a = {x:option.x,y:option.y};
にしたところ問題なくランダムな値が出力されました。
しかし理由が分かりません。
回答1件
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
2017/05/13 03:10