###前提・実現したいこと
ブラウザでデバックするために二つの関数を暫定的に互いが互いの関数を実行するコードを作成し、実行してみたところ、最初の2,3回まではうまくいったのですが、だんだんと処理が重くなり、反応しなくなりました。
開発者ツールを用いて、各関数の処理を調べてみたところ、pict.onload関数のみがネズミ子算的に増えていることがわかりました。
そこで疑問なのですが、関数の中でインスタンス化したaaaは再び大元の関数(scene1)が呼び出されたとき、新たにインスタンスが作られるものなのでしょうか?
###該当のソースコード
Javascript
1 2function Character(){ 3 var pict = new Image(); 4 pict.src = ""; 5 this.draw = function(x,y){ 6 pict.onload = function (e) { 7 ctx.drawImage(pict, x, y); 8 } 9} 10//以下の二つを互いを呼び出すようにする。 11function scene1(){ 12 //関数の中でインスタンス化 13 aaa= new Character(); 14 pict.src = "abc.png"; 15 aaa.draw(100,100); 16} 17 18function scene2(){ 19 ・・・ 20 }
コードが断片的すぎて問題箇所の特定が不可能です. なるべくコードを省略せず全体を掲載して下さい.
回答1件
あなたの回答
tips
プレビュー