• father::全局对象

  • JS

  • 直接声明

    • var:

      声明全局变量

      使用 var 在全局作用域声明的变量会成为全局对象的属性。例如:

      var globalVar = '我是全局变量';
      console.log(window.globalVar); // 输出: 我是全局变量
      指向原始笔记的链接
  • let和const:

    块级作用域

    • base::块级作用域
      let globalLet = '我不是全局对象属性';
      console.log(window.globalLet); // 输出: undefined
    指向原始笔记的链接

  • 隐式声明
    在非严格模式下,如果赋值给一个未声明的标识符,会自动创建一个全局变量,并成为全局对象属性:

    globalImplicit = '隐式全局';
    console.log(window.globalImplicit); // 输出: 隐式全局

    注意: 隐式声明会带来潜在风险,建议避免使用。