質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

関数

関数(ファンクション・メソッド・サブルーチンとも呼ばれる)は、はプログラムのコードの一部であり、ある特定のタスクを処理するように設計されたものです。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

解決済

関数中での関数の呼び出し

justmeet0924
justmeet0924

総合スコア39

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

関数

関数(ファンクション・メソッド・サブルーチンとも呼ばれる)は、はプログラムのコードの一部であり、ある特定のタスクを処理するように設計されたものです。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

2回答

-1評価

1クリップ

470閲覧

投稿2022/01/05 11:41

編集2022/01/05 11:52

関数の中で関数を呼び出すことでつまづいています。「TypeError: gcd is not a function. (In 'gcd(numerator,denominator)', 'gcd' is undefined)」
というエラーが出ており、fraction()という関数中でgcd(m,n)を使用している箇所でエラーが出ます。
どなたか理由をご存知の方おられませんか?

javascript

function fraction(){ const number = document.getElementById("number").value; console.log(number); const numberDigit = String(number).length; var numerator = 0; var denominator = 0; for(let i=0; i<numberDigit; i++){ denominator += Math.pow(10,i)*9; } numerator = number; const answer = numerator/denominator; console.log(answer); console.log(denominator); var gcd = gcd(numerator,denominator); var numerator_2 = numerator/gcd; var denominator_2 = denominator/gcd; document.getElementById("numerator").textContent = numerator_2; document.getElementById("denominator").textContent = denominator_2; document.getElementById("question").textContent = "0."+String(number)+String(number)+"..."; } console.log(gcd(12,32)); function gcd(m, n) { // 剰余 var r; if(m < n) { // m >= nにする r = m; //一時退避 m = n; n = r; } while ((r = m % n) != 0) { m = n; n = r; } return n; }

html

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <link rel="stylesheet" href="style.css"> </head> <body> <p>数値 <span id="span"></span></p> <input type="number" id="number"> <input type="button" value="ボタン" onclick="fraction()"> <div id="main"> <div id="question"></div> <div id="answer"> <div id="numerator" width="200px" height="200px"></div> <div id="denominator" width="200px" height="200px"></div> </div> </div> </body> <script src="script.js"></script> </html>

実行結果

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

itagagaki

2022/01/05 11:50

「関数型プログラミング」のタグはトピックが異なりますので外してください。
justmeet0924

2022/01/05 11:52

ご指摘ありがとうございます。
Lhankor_Mhy

2022/01/08 03:38

ご解決のようですので、BAを選んで質問をクローズしてください。
justmeet0924

2022/01/08 03:45

yambeさんの解答がよくわからなくて…。
Lhankor_Mhy

2022/01/08 04:00

justmeさんがyambejpさんのご回答をどうしても理解したい、それまではBAを選べないということであるならば、コメントをするべきではないでしょうか。 なぜならば、justmeさんがわからない状態にあるということは、それを表明しない限り第三者には伝わらないからです。 そして、justmさんがわからない状態にあるということに気づいてもらえない限り、追加のアドバイスを得ることはできないため、わからないままになるだろうということです。 また、ku__ra__geさんの立場からすると、「解決した」とコメントがあったのにBAが選ばれないという状態は、justmeさんに「この人はいたずらで質問をしているのではないか」「コミュニケーションが取れない相手なのではないか」なとど不信を抱く結果になります。 実際、私も、justmeさんは質問をするだけして回答があっても放置する人なのだな、と感じていたところです。 不信からは、よいコミュニケーションは生まれにくく、悪いコミュニケーションはお互いにとって良いことはありません。 是非ご検討ください。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

関数

関数(ファンクション・メソッド・サブルーチンとも呼ばれる)は、はプログラムのコードの一部であり、ある特定のタスクを処理するように設計されたものです。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。