アプリ版:「スタンプのみでお礼する」機能のリリースについて

ある数値計算をするプログラムを作っています

そのプログラムではeval()を使っています


某書籍や色々javariptを勉強しているサイトを参考にさせていただいてますが
そこではeval()はあんまり使うなとか、普通は使わないとか書かれていました
多用すると動作が重くなるとか、危険だから何とか…


しかし、自分が作成しているプログラムではevalがどうしても必要となってしまいます
簡単なプログラム例です

function tas(){
gk=0
~~~~省略~~~~
gk=eval(a.value)+eval(b.value);

aとbに数字を入力して足し算の答えをを出力するプログラムの一部です
(この時、答えの出力先はプログラムを端折っていますが用意されています)

a=1 b=2に入力したとして
この時eval()を使わずa(b).valueのみにすると
答えが12と連なって表示されてしまいます

ただこの理由は自分でも解っています
そしてこれを数値として取得し計算させるためにはeval()が必要となってしまいます
現状、自分の知識と経験では…

もしeval()を使わずに数値を取得し計算する方法があれば教えて下さい

A 回答 (3件)

evalは文字列をjavascriptの式として評価するからコストが大きいということですかね。



parseInt(a.value)   整数型
parseFloat(a.value)  浮動小数点型
を使うか、a.value-0 して暗黙の型変換を行わせるか、かな。
    • good
    • 0
この回答へのお礼

回答ありがとうございます
勉強になります

お礼日時:2011/04/13 00:04

parseIntとか使えませんか?



http://www.24w.jp/study_contents.php?bid=javascr …
    • good
    • 0
この回答へのお礼

回答ありがとうございます
勉強になります

お礼日時:2011/04/13 00:04

この質問も、よう わからん。



>ただこの理由は自分でも解っています

わかってるなら、違うやり方でやっていると思うが・・・

>eval()はあんまり使うなとか、普通は使わないとか書かれていました

これは、だれが言ったのでしょう。そんな文献みたことありません。よくエセ達人が、ブログなどに書いてありますが、エセであることは明白。

よく習いたての人にたいしては、公式のような感じで、教える人がいるが、へたな人は、表現方法(ボキャブラリー)が乏しいだけ。

たくさん人の作ったの見れば、あ、なるほどこんな手があったか、て気がつくもの。まあ、頭の柔軟性て やつですね(気がつく頭が無いと気がつきませんがね。よくこれ何やっているのかわからない。なんて投稿している人がいるが、そのような人は向いていないんだよなあ。才能が無いと言う事。さっさと違う道にいかないと)。

わかっていないから、

>eval()が必要となってしまいます

といいはっているだけ。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!