首页 > web前端 > js教程 > 正文

JavaScript 中的作用域

WBOY
发布: 2024-08-14 10:31:10
原创
992 人浏览过

Scopes in Javascript

大家好,欢迎来到我的博客

我是斯瓦尔南杜。在这篇博客中,我将解释 JavaScript 中的 Scopping 概念。

Javascript 是最有趣的语言之一,它在 Scopping 中做了一些有趣的事情。如果您掌握了 Javascript 的范围,它将帮助您编写更多无错误的代码。继续阅读本文,我们将深入探讨 Javascript 的范围。

什么是范围?
范围是 Javascript 的概念,指的是可以访问值和表达式的当前执行上下文。简而言之,作用域决定了代码中可以访问或引用变量和函数的位置。

如果您无法获得这些技术定义,请不要担心。在这篇文章中,我将给出现实生活中的实际例子,以便更好地理解。

作用域主要有两种—— 1. 全局作用域
2. 本地范围

两种类型的局部作用域是——块作用域和功能作用域。

想象一下,您正在组织朋友的婚礼活动,并且您有不同的工作需要管理,例如装饰、请柬、餐饮等。每项工作/任务都有您需要做的特定事情,并且
显然,您不想互相干扰这些任务。所以我们使用 javascript 作用域概念来解决这个问题。

全球范围:

全局范围就像婚礼活动的主要组织者,在这种情况下,您是全局范围,可以访问所有任务(变量),如装饰、邀请函、餐饮等。您可以查看和控制每个部分事件的。

当在任何函数/块之外声明的变量位于全局范围内时。这些全局变量可以从代码中的任何位置访问。

`var globalVariable = "我是全局变量";

函数 func() {
console.log(globalVariable);

}

func(); // “我是一个全局变量”
console.log(全局变量); // 也可以在这里访问
`
在上面的示例中,globalVariable 是在代码的全局作用域中声明的,因此可以在此代码中的任何位置访问它。

本地范围:

当函数或块内声明的变量位于局部范围内时。这些变量只能在函数或块内部访问。

现在在你朋友的婚礼上,每项任务都必须有一个任务管理器。对于餐饮,将有一名餐饮经理,类似的装饰经理和邀请经理。每位管理者独立工作,不干涉他人。

A.功能范围:

Var:每当我们在函数内部使用 var 时,如果我们使用外部函数,则变量将获得函数作用域,无论它是否在块中关闭,它都会给出一个全局变量。

`函数 func() {
var localVariable = "我来自局部变量";
console.log(localVariable); // localVariable 在这里可以访问
}

func();
console.log(localVariable); //给出错误:localVariable未定义
`
对于上面的示例,您可以想象餐饮经理有一个仅与餐饮相关的菜单项(变量)列表。类似地,函数内部声明的变量仅与该函数相关(意味着可访问)。

B.块范围:

Let:每当我们用 let 初始化变量时,它总是获得封闭块的范围。 'let' 也不允许重新声明。

Const:与 'let' 类似,但不能为变量重新分配新值(这在 'let' 中是可能的)。

`函数 func() {
如果(真){
let blockVariable = "我来自块作用域变量";
console.log(块变量); // blockVariable 在这里可以访问
}
console.log(blockVar); // 错误:blockVariable 未定义
}

func();
`
这里的 blockVariable 只能在 if 块中访问,因为它是用 'let' 声明的。

对于上面的例子,现在在餐饮工作中,可能会有一些较小的任务,例如“准备甜点”和“准备鸡肉”。如果餐饮经理写下香料/甜点列表(块中的变量),则仅在准备鸡肉/甜点时相关/有用,并在任务结束后将其收起。

总之,Javascript 中的 Socpe 是关于控制变量的访问位置,类似地,您可以在朋友的婚礼上管理任务。

我希望您了解 Javascript 的范围以及 let 和 var 之间的主要区别。如果您愿意,可以关注即将推出的 Javascript 博客,并推荐我在写作中需要改进的地方。

谢谢你?.

以上是JavaScript 中的作用域的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:dev.to
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!