• 締切済み

javascriptのクラスの処理について

javascriptのクラスを利用した処理で分からない所がありますので 教えて下さい。 最初に 下記の「1.の方法」でhtml側にjavascriptを呼び出す記述を して動かしていましたが、「2.の方法」に変更しなければならなく なりました。 ところが、「2.の方法」でやりますと、メインのhtml側がフリーズ してしまいます。 調べてみますと、メモリーを食いつぶしていますので、何か永久ループの ような状態に陥っているようです。 こような場合、何かやり方がおかしいのでしょうか? ご存知の方がいらっしゃいましたら、ご教授お願いいたします。 === 1.の方法 ===(問題なく動きます)================= ---ソース(index1.html) <script type="text/javascript" src="js1.js"></script> <script type="text/javascript"> hoge.create( abc, "def"); </script> ---ソース(js1.js) var hoge = {   xxx: ~~,   yyy: ~~   create: function(val1,val2) {     ~略~ }; === 2.の方法 ===(フリーズしてしまいます)=========== ---ソース(index2.html) <script type="text/javascript" src="js2.js"></script> <script type="text/javascript"> hoge_sub(); </script> ---ソース(js2.js) function hoge_sub(){   hoge.create( abc, "def"); } var hoge = {   xxx: ~~,   yyy: ~~   create: function(val1,val2) {     ~略~ };

みんなの回答

  • ANASTASIAK
  • ベストアンサー率19% (658/3306)
回答No.2

---ソース(js2.js) function hoge_sub(){  return hoge.create( abc, "def"); }

moo9999
質問者

お礼

ありがとうございました。 先にANo.1様にお返事させていただきましたが、文字と変数のを勘違いしていたのが原因でした。 また、何かありましたら、よろしくお願いいたします。

noname#39970
noname#39970
回答No.1

varとfunction hoge_sub の位置を入れ替えると? フリーズする原因を特定するためにhoge.create()内でalertを置いてどこまで正しく通過してるか調べたらどうだろう

moo9999
質問者

お礼

早速のご回答ありがとうございます。 私のソースを良くみましたら、「2.の方法」側の hoge.create( abc, "def"); の "def"が変数にならないといけないのに 文字になっていました。(これが原因でした) これも、教えて頂きました、alert のお陰です。 alertを必要な個所に置いてデータを調べる必要がありますね。 原因は分かって見れば簡単ですが、意外と..と言うか、思わぬ所にバグは潜んでいました。 ありがとうございました。

関連するQ&A