• ベストアンサー

Javascriptで算術演算子を作っているのですがわかりません・・・

あの、JavaScriptの課題で、算術演算子つくり、加算、減算、乗算、除算、整数の除算の商と余りが求めれるように、a bにそれぞれ数値を代入して計算開始というのを作りました。それで、数値以外のたとえば、アルファベットなどを代入した場合、それは数値ではありません、数値を代入してくださいというような数値の入力を促すようになるようにしたいのですが、エラーばかりでます。どのようにソースを打ったら良いのかさっぱりわかりません。教えてください!!よろしくおねがいします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

var lvbKonaRet=1; if(window.top.isNaN){  lvbKonaRet=window.top.isNaN(avvKonaArg); }else if(avvKonaArg){  }else if((avvKonaArg+"")==(("S"-0)+"")){   lvbKonaRet=(1==1);  }else if((avvKonaArg)==((avvKonaArg-0)+"")){   lvbKonaRet=(1==2);  }else if((avvKonaArg-0)==(0)){   lvbKonaRet=(1==2);  }else lvbKonaRet=(1==1); }else if((avvKonaArg+"")==(undefined+"")){  lvbKonaRet=(1==1); }else if((avvKonaArg+"")==(("S"-0)+"")){  lvbKonaRet=(1==1); }else lvbKonaRet=(1==2); (注:表示の為、余白は全角スペースを用いています。) 以上で、数値または数値として解釈可能な文字列でない場合は真、そうでない場合は偽が lvbKonaRet に設定されます。 (1 が最後まで残っていたら処理が不適切な場合です。) 調べたい値は、avvKonaArg に設定します。 というか、そのまま容易に関数にできます。 (そもそも私が使っている関数をさらに簡素にしたものですから。) 尚、window.top の存在していない JavaScript に対応しているブラウザはいくらなんでも無いと思うので 存在チェックは省略しています。 isNaN はIE3あたりが未対応なので一応存在チェックをして振り分けています。 ("S"-0) は NaN の代わりです。 (1==1) は true の代わりです。 (1==2) は false の代わりです。 以上により、ほぼどのブラウザでも対応できていると思います。 まぁ通常は isNaN で充分とは思いますが・・・。

その他の回答 (1)

  • the845t
  • ベストアンサー率33% (246/743)
回答No.1

isNaN()を使うとどうでしょう。 if(!isNaN(a)){ alert('error'); }

関連するQ&A