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.3
- 回答日時:
No2です。
スミマセン 細かいミスありました。No2問題なく動作しますが、kotae=0; 関数内に入れて下さい。
でないと 総和(1+2+3...+N)を求める関数 でなくなってしまいます。
お探しの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ランキング
-
onLoadをbodyタグ以外で使用する
-
指定の年月日時にcssを自動で切...
-
javascriptでalertの文字列をコ...
-
htmlソースの取得方法
-
変数の代入値を外部の.txtファ...
-
特定のページから移動してきた...
-
<a href="#" …>の意味を教えて...
-
<div>のタッチ状態を維持したま...
-
Dreamweaver で 外部JSを読み込...
-
window.openで同画面遷移しない
-
別ファイルのfunctionの読み込み方
-
getElementsByNameで要素が取得...
-
プルダウンメニューを別ファイ...
-
ウインドウの後ろに隠れている...
-
子フレームの自動リロードは可...
-
確認ダイアログで「キャンセル...
-
location.reload() について
-
window.openで404エラーがでます
-
新しいウィンドゥを最大化で立...
-
プラグイン無しでContactform7...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
javascriptでalertの文字列をコ...
-
変数の代入値を外部の.txtファ...
-
onLoadをbodyタグ以外で使用する
-
【javascript クロスブラウザ...
-
「jQuery」アニメーションをル...
-
特定のページから移動してきた...
-
ブラウザーのバージョンによる...
-
画像ファイルのアドレスに今日...
-
指定の年月日時にcssを自動で切...
-
javascriptでページ内の一部分...
-
このDOCTYPEは、何なんでしょう...
-
1 ~ Nまでの整数の総和(1+2+3....
-
<head>と<body>どっちに入れる...
-
トップページindex.htmlにカレ...
-
日替わりメッセージの表示
-
type="text/javascript"
-
セキュリティ保護の警告が出な...
-
javascriptにてonclickを無効
-
ブラウザをJavaScriptで最小化…
-
htmlソースの取得方法
おすすめ情報