timeoutId の宣言を関数 playSlideshow() の中でしたらうまく機能しないのは何故ですか?

変数のスコープが関数のブロックの中で限定されてしまうからです。
2021年5月30日
ユーザー

次のように、clearTimeout の引数である timeoutId の宣言を関数 playSlideshow() の中でしたらうまく機能しませんでした。どこがいけないのでしょうか?
ちなみに、const ではなく let で宣言してもダメでした。

  // let timeoutId; 

  function playSlideshow() {
    const timeoutId = setTimeout(() => {
      next.click();
      playSlideshow();
    }, 1000);
  }

この回答を見るにはプレミアムサービスへの登録が必要です

プレミアムサービスとは?