JavaScriptを学んでいます。初歩的な質問で大変申し訳ないのですが、どうしても自分で解決できずに困っています。
「1 ~ Nまでの整数の総和(1+2+3...+N)を求める関数を持つスクリプトを作成する」というのが目標なのですが、下記のようなスクリプトはinternet Explorerでは動作しません。MozillaFirefoxおよびOperaでは意図したとおり動作できることを確認しています。どこに誤りがあるのでしょうか?どなたかアドバイスをお願いいたします。
<html>
<head>
<meta http-equiv="Content-Script-Type" content="text/javascript">
<title>kadai</title>
<script type="text/javascript">
<!--
function keisan(num1,num2){
return num1*num2/2;
}
//-->
</script>
</head>
<body>
<script type="text/javascript">
<!--
var num1 = prompt("1~入力データまでの総和を計算します。","");
var num2 = num1++;
alert("1 ~ 入力データまでの総和は、" + keisan(num1,num2) + "です。");
//-->
</script>
</body>
</html>
No.1ベストアンサー
- 回答日時:
<script type="text/javascript">
function keisan(num){
return (num+1)*num/2;
}
var num = parseInt(prompt("1~入力データまでの総和を計算します。",""));
alert("1 ~ 入力データまでの総和は、" + keisan(num) + "です。");
</script>
とりあえず明示的に数値としてみては?
また、引数はわざわざ2つ作る必要ないですね・・・
早速のアドバイス、本当にありがとうございます。
parseInt()を使うべきだったのですね。引数をわざわざ二つとっていたのは、parseInt()を使わずにnum1+1と記述すると、単なる文字列と数値の結合になってしまい、加算が正しくされなかったためでした。
やむを得ずnum2をnum1++と定義していましたが、正しい記述をお教えいただけてもやもやした頭の中も少しすっきりしました。
超初歩的な質問にもかかわらずご回答いただき、どうもありがとうございました。わからないことだらけですが、めげずに勉強を続けます。
No.2
- 回答日時:
<html><head><script type="text/JavaScript">
n=3;
kotae=0;
function keisan(){
for(i=1;i<=n;i++){kotae=kotae+i;}
alert("1~"+n+"までの総和は、"+kotae+"です。");}
keisan();
</script></head><body></body></html>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript JAVASCRIPT 2 2022/04/15 15:10
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- JavaScript セレクトボックスを2つ設けて選択して初めてメッセを表示 1 2022/07/27 12:15
- JavaScript switch文のswitch(n)の部分を複数の値にするか、if文に変えてほしいです。 1 2022/07/27 17:18
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- JavaScript GoogleChart 階層ごとのブロックの長さを個別に設定したい 1 2022/07/06 14:27
- JavaScript HTMLでJavaScriptを使ってパスワードの強化判定のプログラムを作成しています。 一通り作っ 2 2022/10/19 01:41
- JavaScript javascriptのちょっとした動作不良(原因は突き止めたのですが) 1 2023/06/15 19:58
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
セキュリティ保護の警告が出な...
-
特定のページから移動してきた...
-
innerHTMLが動作しない。
-
JavaScript で指定した月日に別...
-
iframe内をリロードできますか?
-
<a href="#" …>の意味を教えて...
-
getElementsByNameで要素が取得...
-
javascriptでbgmを自動再生する...
-
初心者javascript ウィンドウサ...
-
function の return 値を表示し...
-
iframeの中から親ページをスム...
-
複数のJavascriptを1つのscrip...
-
WEB上で編集できない、スク...
-
bodyにidをつける理由は何ですか?
-
ボタンが押されたらWebページの...
-
別ファイルのfunctionの読み込み方
-
Dreamweaver で 外部JSを読み込...
-
SCRIPT5007: 未定義または NULL...
-
openerの関係が崩れてしまった...
-
ポップアップウィンドウの位置
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
javascriptでalertの文字列をコ...
-
変数の代入値を外部の.txtファ...
-
javascriptにてonclickを無効
-
onLoadをbodyタグ以外で使用する
-
特定のページから移動してきた...
-
【javascript クロスブラウザ...
-
ブラウザをJavaScriptで最小化…
-
ポップアップページの出し方
-
macでjavascriptを記述するには...
-
「jQuery」アニメーションをル...
-
セキュリティ保護の警告が出な...
-
日替わりメッセージの表示
-
画像ファイルのアドレスに今日...
-
指定の年月日時にcssを自動で切...
-
月ごとに表示するページを変える
-
ウィンドを開いたとき位置を指...
-
ホームページ上で残り日数をカ...
-
google analytics自分を除外したい
-
Javascriptを最後に実行する方法
-
type="text/javascript"
おすすめ情報