前提・実現したいこと
プログラミング初学者でjavacriptを勉強しており上達のため電卓を作っています。
ボタンをクリックしたときに値を取得して
通常の電卓のように左揃えで値を追加表示する機能をつくっています
ボタンをクリックしたときに取得した値を変数に代入する関数別の関数に値を渡したい
該当のソースコード
HTML
1<head> 2 <meta charset="utf-8"> 3 <title></title> 4 5 <link rel="stylesheet" href="css/style.css"> 6</head> 7 8<body> 9 <button class="number" type="button" value="0">0</button> 10 <button class="number" type="button" value="1" >1</button> 11 <button class="number" type="button"value="2" >2</button> 12 <button class="number" type="button" value="3" >3</button> 13 <button class="number" type="button" value="4" >4</button> 14 <button class="number" type="button"value="5" >5</button> 15 <button class="number" type="button"value="6" >6</button> 16 <button class="number" type="button"value="7" >7</button> 17 <button class="number" type="button"value="8" >8</button> 18 <button class="number" type="button"value="9" >9</button> 19 <button class="operation" type="button" value="+" >+</button> 20 <button class="operation" type="button" value="-" >-</button> 21 <button class="operation" type="button" value="*" >×</button> 22 <button class="operation" type="button" value="/" >÷</button> 23 <button class="equal" value="=" >=</button> 24 <div id="calculator"></div> 25 26 <script src="main2.js"></script> 27</body> 28 29</html>
javascript
1const buttons = document.querySelectorAll('button'); 2const calculator = document.getElementById('calculator'); 3const Operation_class = document.getElementsByClassName('operation'); 4const Equal_class = document.getElementsByClassName('equal'); 5 6let Strings; 7let input_numbers = 0; 8let operation_value; 9let result; 10let arr = []; 11let Anserw; 12let object = {}; 13let Total = 0; 14let num = 0; 15 16 17 18 19 20function InputNumber() { 21 buttons.forEach(function(button) { 22 button.addEventListener("click", function() { 23 num = button.value; 24 25 return num; 26 }) 27 }) 28} 29
試したこと
return に関数内で取得した値を代入した変数をおいた
### 補足情報(FW/ツールのバージョンなど) google chrome ここにより詳細な情報を記載してください。
num = button.value;
をしているのだからそのままnum使えばいいじゃない?
うーん質問した内容が間違ってたかもしれません
た
returnでnumを返してもクリックしたときのvalueがnumに代入されて返ってこなかったので
InputNumberこれ実行してないからね
function InputNumber() は定義しているだけから、function(){}のくくりの外側でInputNumber();で実行しないと意味無いよ
これで解決したら自分で回答書いて自己解決にしてくださいな
実行してるところは書いてなかったですが、実行しても使えなかったので聞いてみました
回答してくださってありがとうございました
となるとやりたい事が分かるだけのソースを載せてもらった上で、さらに実現したい動作や目撃を書く事で回答がつくと思われます。returnする方法ではなく実現方法の回答になりますが。
回答1件
あなたの回答
tips
プレビュー