作用域的区别

全局变量:定义在函数外部,作用域为整个文件。 局部变量:定义在函数内部,作用域仅限于该函数内。
这就是坑,别在函数内部定义全局变量,别信局部变量会自动提升到全局作用域。

作用域:变量在哪里可以被访问。
全局作用域:在整个文档中都可以访问的变量。 局部作用域:只在函数内部可以访问的变量。
例子: JavaScript(2019年,深圳,100行代码):

  • 全局变量name,在任何函数外的地方都能访问。
  • 函数内定义的变量age,只有在这个函数内部可见。
    结论:全局变量无处不在,局部变量受限。

啊,作用域这事儿,得好好说说。2022年,我在某个城市参加了一个技术研讨会,那时候啊,我对这个概念还是半懂不懂的。
当时有个专家讲作用域,我听他说:“作用域,就是变量、函数或者对象在程序中的有效范围。”我当时也懵,啥意思呢?我就记得他举了个例子。
比如说,一个变量在一个函数内部声明了,那这个变量就只能在这个函数内部用,这就是局部作用域。如果这个变量是在全局范围内声明的,那它就可以在任何地方被访问,这就是全局作用域。
然后啊,他又说了:“还有一种作用域,叫块级作用域。”我当时没太反应过来,后来才反应过来,就是ES6引入的let和const,它们的作用域是代码块。
我还记得当时有个讨论,有人说:“作用域太复杂了,容易出错。”我那时候可能偏激了,觉得这东西太难掌握。但现在想想,作用域这个概念,对于编写高效、安全的代码还是挺重要的。
嗯,就这样吧,作用域啊,就是变量的生命周期,它在哪个范围内有效,这个范围就是它的作用域。

相关推荐

预防

2026-04-28 10:35:26 推荐

知识

2026-04-28 09:10:16 推荐