目录

作用域

  全局作用域和局部作用域

  块作用域与函数作用域

  作用域中的声明提前

作用域链

函数声明与赋值

  声明式函数、赋值式函数与匿名函数

  代码块  

  自执行函数

闭包 


 

作用域(scope)

全局作用域和局部作用域

通常来讲这块是全局变量与局部变量的区分。 参考引文:JavaScript 开发进阶:理解 JavaScript 作用域和作用域链

全局作用域:最外层函数和在最外层函数外面定义的变量拥有全局作用域。

  1)最外层函数和在最外层函数外面定义的变量拥有全局作用域

  2)所有末定义直接赋值的变量自动声明为拥有全局作用域,即没有用var声明的变量都是全局变量,而且是顶层对象的属性。

  3)所有window对象的属性拥有全局作用域

局部作用域:和全局作用域相反,局部作用域一般只在固定的代码片段内可访问到,最常见的例如函数内部,所以在一些地方也会看到有人把这种作用域称为函数作用域。

代码部分请参照引文。

 

块作用域与函数作用域

函数作用域是相对块作用域来进行解释的,其和局部作用域是一个意思。参考引文:JavaScript的作用域和块级作用域概念理解

块作用域:任何一对花括号{}中的语句集都属于一个块,在这之中定义的所有变量在代码块外都是无效的,我们称之为块级作用域。

函数作用域:在函数中的参数和变量在函数外部是无法访问的。JavaScript 的作用域是词法性质的(lexically scoped)。这意味着,函数运行在定义它的作用域中,而不是在调用它的作用域中。下文会解释。

 1 //C语言 
 2 #include <stdio.h> 
 3 void main() 
 4 { 
 5 int i=2; 
 6 i--; 
 7 if(i) 
 8 { 
 9 int j=3; 
10 } 
11 printf("%d/n",j); 
12 }
View Code

相关文章:

  • 2022-12-23
  • 2021-11-23
  • 2021-07-30
  • 2021-07-12
  • 2021-08-17
  • 2021-11-23
猜你喜欢
  • 2021-11-23
  • 2021-11-23
  • 2021-05-01
  • 2021-05-15
相关资源
相似解决方案