<scripttype="module"> functionadd(a, b) { return a + b; } </script> <script> // Uncaught ReferenceError: add is not defined console.log(add(10, 10)); </script>
強調一下是「只有設定 type=module 的 JS」才有 <script> 作用域,所以以下例子是 OK 的:
1 2 3 4 5 6 7 8
<script> functionadd(a, b) { return a + b; } </script> <scripttype="module"> console.log(add(10, 10)); // 20 </script>
module 中的內容會以嚴格模式來執行
1 2 3 4 5
<scripttype="module"> console.log(this); // undefined a = 100; // 沒有用 var 來宣告 console.log(a) // Uncaught ReferenceError: a is not defined </script>
一般的 <script>:
1 2 3 4 5
<script> console.log(this); // window a = 100; // 沒有用 var 來宣告 console.log(a) // 100 </script>