与大多数编程语言一样,Javascript 中最重要的概念之一是定义变量的能力。变量是值或数据的容器。根据我们在代码中使用的逻辑,稍后可以更改某些类型的变量。让我们看看变量在 Javascript 中是如何工作的。
定义变量#
主要有两种类型:
- 常量– 这些不能在以后更新,并且包含常量数据。
- 变量——顾名思义,这些是可以改变的。
我们可以在代码中使用关键字 和 来定义这两种主要类型let
的var
变量const
。
变量#
Var
var
is original 关键字是定义引入 Javascript 的变量的第一种方法。与定义变量的所有其他方法一样,var
遵循以下模式:
var myVariable = 'some value';
试试看!
var myVariable = 'some value'; // console.log lets us add things to the console. // You can see your console logs on the right hand side. console.log(myVariable);
通常,在现代 JS 中,我们不使用 var。但是,它与我们将在本文中介绍的let
and略有不同。const
上面的关键字var
用于表示我们正在设置一个名为myVariable的变量,并且该变量的值是某个值。由于我们使用了引号,Javascript 将假定这是一个字符串。
Let#
该let
关键字是 Javascript 的新增功能。它与 相同var
,唯一的区别是它具有块范围。稍后我们将介绍逻辑语句和函数,但这个例子可能有助于说明这意味着什么:
let myVariable = 'some value'; if(myVariable == 'some value') { myVariable = 'some other value'; // Within this 'block', myVariable now is equal to 'some other value' } // Outside the block, myVariable is equal to 'some value'
试试看!
if(myVariable == 'some value') { myVariable = 'some other value'; console.log('In the block, myVariable is ' + myVariable); // Within this 'block', myVariable now is equal to 'some other value' } // Outside the block, myVariable is equal to 'some value' console.log('Outside the block, myVariable is ' + myVariable);
需要注意的错误!
注意:定义同名变量两次会报错。以下代码无效:
let x = 'hello'; let x = 'goodbye'; // This will throw an error!
更新变量
正如我们在上一个示例中所展示的,我们可以通过简单地再次引用它们并将它们更改为值来更新变量。但是,这仅适用于var
and let
,因为const
变量无法更改。
let myVariable = 1; // myVariable is 1 myVariable = 2; // Now myVariable is 2
注意,如果你尝试用相同的名字定义一个变量两次,使用一次var
或let
两次,Javascript 会给你一个错误。您只能定义一次变量,之后,您必须如上所示更新它。
常数#
常量是使用const
关键字定义的。如前所述,这些无法更改。它们的定义方式与其他变量相同,即:
const myConstant = 1;
以上是指不能更改或更新的常量。
Javascript 中的动态类型#
在其他编程语言中,定义变量时需要定义变量是什么类型。在 Javascript 中,类型是根据您输入数据的方式来假定的。这称为动态类型。一些示例如下所示:
let i = "1"; // this is a string, since we used quotation marks let j = 1; // this is an int, since we used no quotation marks let k = true; // this is boolean, since we used no quotation marks let l = "true"; // this is a string, since we used quotation marks
如您所见,是否使用引号确实会影响您的代码。例如,如果您在数字周围使用引号,它将是一个字符串,如果您稍后尝试将此“字符串”添加到数字,它将无法正常工作!所以了解这些类型真的很重要。
保留字和大小写#
定义变量时,大小写很重要。因此name
不同于NAme
. 因此,我们可以合理地写出以下内容,并且没有错误:
let naME = 'hello'; let NAme = 'goodbye';
笔记
变量名称不能以数字开头。您可以使用数字,但不能作为第一个字母。
保留关键字
有许多保留关键字不能在 Javascript 中使用。它们都是您在 Javascript 中用于其他事物的词,例如function
、while
或let
。您可以在此处找到保留关键字的完整列表。因此,以下代码无效,并会抛出错误:
let while = 'hello'; let if = 'goodbye'; let let = 'no';
最佳实践#
在 Javascript 和其他编码语言中到处都在使用变量。当我们使用变量时,有一些最佳实践可以确保阅读您的代码的每个人都了解正在发生的事情。
- 将变量命名为易于理解的名称– 即
colorOfBackground
notcolor
或firstName
, notname
。 - 不要使用特殊字符– 对这些字符的支持可能会有所不同 – 最好避免使用。
- 使用一种命名格式,并坚持使用– 选择、 或
pothole_case_naming
,并以这种方式命名所有变量以保持一致性。camelCase
CamelCase