- 締切済み
Out of memory?
JavaScriptでちょっとしたプログラムを書いているのですが、HTMLに組み込んでビルド(実行)してみると、「Out of memory at line:384」というエラーが出てしまいました。 因みに384行目には、変数に空白を代入するプログラム(?)が書いてありました。 変数が多すぎるのですかね?384行目までに出てくるのは40個程度で、全体でも50個程度なのですが。 多分、メモリが足らないと言っているのだと思うのですが、原因が分からないのでどうやったら改善できるのか分かりません。 分かる方おられたら、よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- 神崎 渉瑠(@taloo)
- ベストアンサー率44% (1016/2280)
回答No.3
再帰呼び出しで脱出出来てないとか、 ループの中でsetIntervalやsetTimeoutを使い続けてるとかしてません? onmousemoveでsetTimeoutを実行しても、ごく短時間に何十~何百ものタイマーが作られたりするので、メモリ不足するかも。
- VCAT
- ベストアンサー率20% (16/79)
回答No.2
メモリ制限の仕様はないはずです。 何を格納しているのか知りませんが、その英語の意味を 正確に読み取る方が先では?
質問者
お礼
回答ありがとうございます。 メモリの制限はないのですね。 変数の数を減らさないといけないのかと思いどきどきしました。 減らさなくてよかったので安心しました。
noname#39970
回答No.1
その手前の行は何をしているかな? エラーの出る直前で関係ありそうな変数を片っ端からalertで表示してごらん。 何か判るかも
質問者
お礼
回答ありがとうございます。 変数を全てalertで表示して、if文で関数を呼び出しているところも、条件が一致するとalertを表示するようにしたら上手く行きました。 すると元に戻しても上手く行きました。 結局原因はよく分かりませんでしたがとりあえず直ったのでよかったです。
お礼
回答ありがとうございます。 このスクリプトの中ではsetIntervalやsetTimeout等のタイマー系は使っていませんでした。 onmousemoveもありませんでした。 今度使うことがあるときは、たくさんタイマーが作られることが無いように気をつけます。