関数の中で関数を呼び出すことでつまづいています。「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>
まだ回答がついていません
会員登録して回答してみよう