【週刊ドットインストール】 考える力を養うための新クラス『データで学ぶアルゴリズム』を256timesでリリース!
お世話になっております。 showPassword() をスコープの終盤で呼び出す理由が理解できません。
showPassword()
showPassword() は「画面リロード時にデフォルトでパスワードを表示させる」 という目的を実現する為に記載するものだと認識しています。
コードにおける処理は上から順に行われる原則から考えると、 showPassword() はスコープの上部に記載されるべきだと考えました。
そこで、以下のように記載をしたところ、 画面リロード時にパスワードが表示されなくなってしまいました。
'use strict'; { function showPassword() { const lowerCaseLetters = "abcdefghijklmnopqrstuvwxyz"; const numbers = "0123456789"; const symbols = "!?><*+`}"; let password = ""; let lettersList = lowerCaseLetters + lowerCaseLetters.toUpperCase(); if (numbersCheckbox.checked) { lettersList+= numbers; } if(symbolsCheckbox.checked) { lettersList+= symbols; } for (let i = 0; i < slider.value; i++) { password += lettersList[Math.floor(Math.random() * lettersList.length)]; }; result.textContent = password; } showPassword(); // ここだと表示されない const result = document.getElementById("result"); const generatePassword = document.getElementById("generatePassword"); const slider = document.getElementById("slider"); const passwordLength = document.getElementById("password-length"); const numbersCheckbox = document.getElementById("numbers-checkbox"); const symbolsCheckbox = document.getElementById("symbols-checkbox"); slider.addEventListener('input', () => { passwordLength.textContent = slider.value; }); generatePassword.addEventListener("click", () => { showPassword(); }); showPassword(); // ここだと表示される }
これはなぜなのでしょうか。
ドットインストールは、3分動画でマスターできるプログラミング学習サービスです。
3分で気軽に学習でき、スマートフォンからも視聴可能です。ホームページやWebサービスの制作を通して、実践的にプログラミングを学べます。
他にも、ゲーム制作やデータ分析・機械学習・AIに使われる言語まで幅広くカバー。学びたい分野のレッスンがきっと見つかります。
この回答を見るにはプレミアムプランへの登録が必要です
お世話になっております。
showPassword()をスコープの終盤で呼び出す理由が理解できません。showPassword()は「画面リロード時にデフォルトでパスワードを表示させる」という目的を実現する為に記載するものだと認識しています。
コードにおける処理は上から順に行われる原則から考えると、
showPassword()はスコープの上部に記載されるべきだと考えました。そこで、以下のように記載をしたところ、
画面リロード時にパスワードが表示されなくなってしまいました。
これはなぜなのでしょうか。