これは私が今まで見た中で最も奇妙なエラーです。
私のプログラムには、avgVolMix という変数が 1 つあります。これは 10 進数の変数であり、NaN ではありません (console.log(avgVolMix) は 0.3526246 のような値をコンソールに出力します)。ただし、割り当てステートメントで変数を使用すると、それを使用しようとしているものは何でも NaN に破損します。例:
console.log(avgVolMix); <- prints a working decimal
var moveRatio = 10 + avgVolMix * 10;
console.log(moveRatio); <- prints NaN
なぜこれが起こっているのか、私にはまったくわかりません。私はそれを修正するためにあらゆることを試みました。私はそれを文字列に変換してから、小数点以下2桁に丸め、0.0001を追加しましたが、何も機能しません! これが、今すぐ「機能」させる唯一の方法です。
var temp = 0.0;
for(i = 0; i <= avgVolMix; i+=0.1)
temp = i;
これにより、avgVolMix に近い数値が temp に割り当てられます。ただし、ご覧のとおり、非常に悪いプログラミングです。また、これはこの 1 つの変数だけで壊れているのではなく、使用しているライブラリに関連付けられているすべての変数がこれを行うことに注意してください (私は音楽ビジュアライザーに取り組んでいます)。なぜこれが起こっているのか誰にも分かりますか?
編集:私は実際にコードにアクセスしてこのようなものをテストすることはできません.これは会社のプロジェクトであるため、とにかくjsfiddleを開くのは苦手です. 誰かがこのようなことを経験したことがあるかどうか疑問に思っていました。ここから問題のライブラリを入手したことをお伝えできます: http://gskinner.com/blog/archives/2011/03/music-visualizer-in-html5-js-with-source-code.html