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

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

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

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

Q&A

解決済

1回答

440閲覧

関数で取得した値を関数の外使いたい

mori_sa

総合スコア3

JavaScript

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

0グッド

1クリップ

投稿2020/07/11 15:20

前提・実現したいこと

プログラミング初学者で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 ここにより詳細な情報を記載してください。

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hentaiman

2020/07/11 17:09

num = button.value; をしているのだからそのままnum使えばいいじゃない?
mori_sa

2020/07/12 07:15

うーん質問した内容が間違ってたかもしれません た returnでnumを返してもクリックしたときのvalueがnumに代入されて返ってこなかったので
hentaiman

2020/07/12 07:36

InputNumberこれ実行してないからね function InputNumber() は定義しているだけから、function(){}のくくりの外側でInputNumber();で実行しないと意味無いよ これで解決したら自分で回答書いて自己解決にしてくださいな
mori_sa

2020/07/12 09:22

実行してるところは書いてなかったですが、実行しても使えなかったので聞いてみました 回答してくださってありがとうございました
hentaiman

2020/07/12 09:52 編集

となるとやりたい事が分かるだけのソースを載せてもらった上で、さらに実現したい動作や目撃を書く事で回答がつくと思われます。returnする方法ではなく実現方法の回答になりますが。
guest

回答1

0

ベストアンサー

InputNumberはボタンにイベントで発火する動作を設定する関数ですから
実行しても何も取得するものはありません

投稿2020/07/11 15:45

yambejp

総合スコア116724

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問