グローバル変数でもscriptタグの順番に注意

<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <script> // その1
    'use strict'
    // モードによらず、グローバル変数でも、前方のscriptタグからアクセスするとエラー。
    // グローバル // ReferenceError
    // ローカル // ReferenceError
  </script>
  <title>scriptタグの順番に注意</title>
  <script> // その2
    // var宣言なら宣言前の参照はエラーにならない(同じscriptタグ内)。
    console.log(グローバル) // undefined
    var グローバル = 'global'

    // let宣言なら宣言前の参照はエラー。
    // ローカル // ReferenceError
    let ローカル = 'local'
  </script>
</head>
<body>
  <script> // その3
    // ローカル変数でも、後方のscriptタグからアクセスできる。
    console.log(グローバル, ローカル) // global local
  </script>
</body>
</html>