Example1 和 Example2 有什么区别?

What is the difference between Example1 and Example2?

示例 1:

(function () {
  let encryptionKey = Math.floor((Math.random() + 1)*4);
  console.log (encryptionKey >= 6);
})();
    
console.log(encryptionKey);    //encryptionKey is not defined 

示例 2:

(function () {
  encryptionKey = Math.floor((Math.random() + 1)*4);
  console.log (encryptionKey >= 6);
})();
  
console.log(encryptionKey);   //encryptionKey is logged in the console without any errors

试图找出第二个示例中显示该值的原因。

不使用 var/let/const 关键字声明的变量范围将成为全局变量,无论它在何处声明。可以从网页的任何位置访问全局变量。