引数や入力された値などをintなど数値にキャストする際に予期せぬ値が入っているとNaN(Not a Number)になり、処理が想定通りに進まない事がおこります。
https://gist.github.com/akifumi-kamata/b22f97b94abdd4fbb047
事前に数値かチェックする方法もありますが、parseIntしてしまい結果をisNaNで判定した方が簡単ですよね。
JavaScriptでNaN(Not a Number)を判定して適切に処理する

引数や入力された値などをintなど数値にキャストする際に予期せぬ値が入っているとNaN(Not a Number)になり、処理が想定通りに進まない事がおこります。
https://gist.github.com/akifumi-kamata/b22f97b94abdd4fbb047
事前に数値かチェックする方法もありますが、parseIntしてしまい結果をisNaNで判定した方が簡単ですよね。