【週刊ドットインストール】 256timesのクラスを準備中、Ruby/Ruby on Railsのロードマップページを追加
なぜ clearTimeout() に timeoutId を渡すことができるんですか? その答えはおそらくスコープの私の解釈が間違っていると思われるのでスコープのご教授お願いいたします。 私のスコープの解釈は...
clearTimeout()
timeoutId
例:
let numbers; function a(){ numbers = 1; //a()の中だけはnumbersは1として扱える。b()ではnumbersは1と表示されない 理由スコープが違うため console.log(numbers); } function b(){ console.log(numbers); //undefinedになる。グローバルスコープのnumbersが初期化されていないので }
もし上の認識があっていると仮定した場合今回のレッスン動画の私の疑問を上のコードに当てはめてみると
let numbers; // let timeoutId; function a(){ numbers = 1; console.log(numbers); // timeoutId = setTimeout(() => { // countUp(); // }, 10); } function b(){ console.log(numbers); // clearTimeout(timeoutId); } a(); // 1 b(); // undefinedになる
なぜ function a で代入された timeoutId が function b 内で使えるのですか? なぜスコープが違うにも関わらずローカル変数が別のスコープで使えているんですか? ご教授よろしくお願いいたします。
function a
function b
ドットインストールは、3分動画でマスターできるプログラミング学習サービスです。
3分で気軽に学習でき、スマートフォンからも視聴可能です。ホームページやWebサービスの制作を通して、実践的にプログラミングを学べます。
他にも、ゲーム制作やデータ分析・機械学習・AIに使われる言語まで幅広くカバー。学びたい分野のレッスンがきっと見つかります。
この回答を見るにはプレミアムプランへの登録が必要です
なぜ
clearTimeout()にtimeoutIdを渡すことができるんですか?その答えはおそらくスコープの私の解釈が間違っていると思われるのでスコープのご教授お願いいたします。
私のスコープの解釈は...
例:
もし上の認識があっていると仮定した場合今回のレッスン動画の私の疑問を上のコードに当てはめてみると
なぜ
function aで代入されたtimeoutIdがfunction b内で使えるのですか?なぜスコープが違うにも関わらずローカル変数が別のスコープで使えているんですか?
ご教授よろしくお願いいたします。