当前位置: 首页 > 网络应用技术

JavaScript中的范围

时间:2023-03-07 17:03:32 网络应用技术

  大家好,我是l.today,我们将学习JavaScript中的范围。

  范围(范围)规定了可以访问变量的“范围”。离开此“范围”变量无法访问。行动范围分为本地范围和全球范围。

  局部动作域可以分为功能域和块。

  函数域:该函数内部声明的变量只能在函数内访问,并且不能直接访问。应注意:(1)在函数外无法访问该函数内部声明的变量。(2)该函数也是函数内部的局部变量。(3)在执行函数后,在函数执行后,在不同函数中声明的变量无法访问。(4)函数内部的变量实际上很清楚。

  块操作域:在JavaScript中使用包裹的使用称为代码块,并且在外部将无法访问代码块内部声明的变量。

  除了JavaScript中的变量外,常数和变量的本质之间的差异是[常数必须是有价值的并且不允许偿还的范围],当允许其属性和方法时,允许稳定值允许。变量。变量。由LET声明将生成块范围,但VAR不会产生块范围。CONST声明常数以产生块。无法访问不同代码块之间的变量。我们建议使用let或const。应注意,lett和const通常不会区分开发。如果您担心某个值会被修改,则只能使用const声明为常数。

  标签和文件的[外层]是SO所标记的全局范围。此处声明的变量也可以在函数中访问。

  如以下代码所示,在全局范围中声明的变量可以访问任何其他范围。我们动态添加到对象中的属性也是全局的,我们不建议我们使用任何不使用任何关键字声明中的变量该函数是全局变量,不建议进行。因此,我们必须尽可能少地声明以防止全局变量受到全局变量的污染。

  JavaScript中的范围是执行程序时的基本机制。了解这种机制可以帮助标准化代码写作习惯,并避免范围引起的语法错误。

  在解释什么是域链之前,让我们看一下段落。函数中的新功能的创建允许在函数内创建新功能,该功能将产生新功能范围,可以看出,该功能的范围是范围有嵌套的关系。

  范围链本质上是基本的可变搜索机制。执行该函数时,将优先在当前函数范围中找到变量。嵌套关系的范围串联连接以形成域链,并且相同的范围链根据规则从小到小规则找到变量大。子操作域可以访问父得分,而父级范围无法访问子级别的角色。

  原始:https://juejin.cn/post/7101697105047224328