首页 > web前端 > js教程 > 快速提示:如何在JavaScript中声明变量

快速提示:如何在JavaScript中声明变量

Jennifer Aniston
发布: 2025-02-17 09:19:08
原创
430 人浏览过

快速提示:如何在JavaScript中声明变量

学习JavaScript时,基本知识之一是了解如何使用变量。变量是所有可能类型的值的容器,例如数字,字符串或数组(请参阅数据类型)。每个变量都会获取一个名称,该名称以后可以在您的应用程序中使用(例如读取其值)。

在此快速提示中,您将学习如何使用变量和各种声明之间的差异。

钥匙要点

JavaScript中的
    >变量使用“ VAR”,“ LET”或“ CONST”关键字声明,每个关键字都有其自己的范围和用法。 “ var”是函数分配的,“让”是块划分的,而“ const”是块分割的,但在初始化后不能重新分配。
  • >
  • >声明,初始化和分配是可变用法的三个不同步骤。声明引入了一个新变量,初始化首次分配了一个值,分配给了变量。
  • >。
  • 提升是一种JavaScript机制,在编译阶段,可变和函数声明移至其范围的顶部。但是,只有声明被提升,而不是初始化。 “ var”将返回“未定义”,如果在升起的声明之前访问,而“让”和“ const”丢弃了错误。
  • >
  • 声明,初始化和分配
之间的差异

>在我们开始学习各种声明之前,让我们看看变量的生命周期。

快速提示:如何在JavaScript中声明变量

>声明:该变量使用相应范围内的给定名称进行注册(如下所述 - 例如,函数内部)。
  1. >初始化:当您声明变量时,它将自动初始化,这意味着记忆是由JavaScript引擎分配的。
  2. 分配:这是将特定值分配给变量的时候。>
  3. >声明类型
注意:虽然Varhas自从JavaScript以来就可以在其初始相对以来可用,但Letand Const仅在ES6(ES2015)及以上可用。请参阅此页面以获取浏览器的兼容性。

var

>语法:

>此声明可能是最流行的,因为直到ecmascript 6才有选择。在封闭函数的范围内,用VAR声明的变量可用。如果没有封闭功能,则它们在全球范围内可用。

>示例:
<span>var x; // Declaration and initialization
</span>x <span>= "Hello World"; // Assignment
</span>
<span>// Or all in one
</span><span>var y = "Hello World";
</span>
登录后复制
登录后复制

>这将导致错误参考eRROR:Hello未定义,因为变量Hello仅在函数sayhello中可用。但是以下内容将起作用,因为变量将在全球范围内声明 - 在同一范围控制台中。

>
<span>function sayHello(){
</span>  <span>var hello = "Hello World";
</span>  <span>return hello;
</span><span>}
</span><span>console.log(hello);
</span>
登录后复制
登录后复制
>语法:

<span>var x; // Declaration and initialization
</span>x <span>= "Hello World"; // Assignment
</span>
<span>// Or all in one
</span><span>var y = "Hello World";
</span>
登录后复制
登录后复制

>让我们的后代是现代JavaScript中的VAR的后代。它的范围不仅限于封闭功能,还限于其封闭块语句。块语句是{and}内部的所有内容(例如条件或循环)。 LET的好处是它减少了错误的可能性,因为变量仅在较小的范围内可用。

>示例:

<span>function sayHello(){
</span>  <span>var hello = "Hello World";
</span>  <span>return hello;
</span><span>}
</span><span>console.log(hello);
</span>
登录后复制
登录后复制
>这将导致错误参考文献:Hello未定义为Hello仅在封闭块内部可用 - 在这种情况下为IF条件。但是以下将起作用:

<span>var hello = "Hello World";
</span><span>function sayHello(){
</span>  <span>return hello;
</span><span>}
</span><span>console.log(hello);
</span>
登录后复制
const

>语法:

从技术上讲,常数不是变量。常数的特殊性在于,您需要在声明值时分配一个值,并且无法重新分配值。 const限于封闭块的范围,例如let。
<span>let x; // Declaration and initialization
</span>x <span>= "Hello World"; // Assignment
</span>
<span>// Or all in one
</span><span>let y = "Hello World";
</span>
登录后复制
每当在应用程序运行时间内不得更改值时,都应使用

>常数,因为试图覆盖它们时会被错误通知您。

意外的全局创建

>您可以在全局上下文(即在任何函数之外)中编写上述所有命名声明,但是即使在函数中,如果您忘记在作业之前写下var,let或const,则变量将自动为全局。

>示例:

上面的将向控制台输出Hello World,因为作业Hello =之前没有声明,因此该变量在全球范围内可用。
<span>var name = "Peter";
</span><span>if(name === "Peter"){
</span>  <span>let hello = "Hello Peter";
</span><span>} else {
</span>  <span>let hello = "Hi";
</span><span>}
</span><span>console.log(hello);
</span>
登录后复制

注意:要避免意外声明全局变量,您可以使用严格的模式。>

升起和时间死区

> var和let/const之间的另一个区别与变量吊装有关。在内部(移动)将始终将变量声明升级到当前范围的顶部。这意味着以下内容:
>

等效于:

<span>var name = "Peter";
</span><span>if(name === "Peter"){
</span>  <span>let hello = "Hello Peter";
</span>  <span>console.log(hello);
</span><span>} else {
</span>  <span>let hello = "Hi";
</span>  <span>console.log(hello);
</span><span>}
</span>
登录后复制
>表明此行为的指示是两个示例都将未定义为控制台。如果var hello;并非总是最重要的,它会引起参考。

>

>这种称为提升的行为适用于VAR,也适用于LET/CONS。如上所述,访问var变量在声明之前将返回未定义,因为这是JavaScript初始化时分配的值。
<span>const x = "Hello World";
</span>
登录后复制

>但在声明之前访问let/const变量会丢失错误。这是由于他们在代码中声明之前无法访问它们。输入变量范围和达到其声明之间的时期称为时间死区 - 即无法访问该变量的时期。

>您可以在文章中阅读有关提升的更多信息,以揭开JavaScript变量范围和提升。

结论

要减少应使用const的错误易感性,并尽可能让。如果您确实需要使用VAR,请确保将声明移至范围的顶部,因为这避免了与吊装相关的不必要的行为。

经常询问有关JavaScript变量声明的问题(常见问题解答)

>在JavaScript中,在JavaScript中的变量声明和初始化之间有什么区别,在JavaScript中,变量声明和初始化是使用变量的两个不同步骤。声明是向程序引入新变量的过程。它是使用VAR,LET或CONST关键字完成的。例如,令x;在这里,X被声明但未定义。这就像告诉程序:“嘿,我要使用一个名为X的变量。”另一方面,初始化是第一次将值分配给声明变量的过程。例如,x = 5;在这里,x用值5初始化。这就像告诉程序,“我之前告诉您的变量X?它的值为5。”

>我可以在javascript中初始化它的变量吗?当您声明变量而不为其分配值时,JavaScript会自动分配未定义的值。例如,如果您声明这样的变量:让x;然后尝试将X登录到控制台,您会变得不确定,因为X已被声明但未初始化。

>如果我在javascript中使用变量而不在JavaScript中使用变量? JavaScript,如果您使用变量而不先声明变量,则会获得参考。这是因为JavaScript需要在使用变量之前就知道它。如果您尝试使用尚未声明的变量,则JavaScript不知道您指的是什么并引发错误。例如,如果您尝试将X记录到控制台而不先声明x,则您将获得一个参考:x未定义。

> var,let和const在JavaScript变量中有什么区别javaScript,var,let and const中的?

都用于声明变量,但它们具有不同的行为。 var是函数分配的,这意味着声明带有var的变量在其声明的函数中可用。让和const被块分组,这仅在其声明的块中可用。此外,const也用于声明常数,或在初始化后无法重新分配的变量。

>

>我可以在javascript中重新计算一个变量吗?

> javaScript中的提升是什么?这意味着您可以在声明变量和函数之前使用它们。但是,只有声明被提升,而不是初始化。如果使用后声明并初始化了变量,则该变量将不确定。

>

> javascript中变量的范围是什么?可以从您的代码中访问。用VAR声明的变量具有功能范围,这意味着它们可以在声明的功能中访问任何位置。用LET和const声明的变量具有块范围,这意味着只能在其声明的块中访问它们。 >

在JavaScript?>我可以在JavaScript中使用特殊字符?他们必须从信件,下划线或美元符号开始。在变量名称中不允许使用诸如!, @,#,%等的特殊字符。

> javascript中的全局变量是什么?在任何功能或块之外声明。由于它与函数或块没有绑定,因此可以从代码中的任何地方访问全局变量。但是,全球变量可能会导致命名冲突的问题,并且通常在可能的情况下最好避免。

>

以上是快速提示:如何在JavaScript中声明变量的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板