JavaScript - 变量

JavaScript数据类型

编程语言最基本的特征之一是它支持的数据类型集。这些是可以用编程语言表示和操作的值类型。

JavaScript允许您使用三种原始数据类型 :

  • 数字 例如 123,120.50等。

  • 字符串 例如"此文字字符串"等。

  • 布尔 例如true 和 false。

JavaScript还定义了两种简单的数据类型, null undefined,每个都只定义一个值。除了这些原始数据类型之外,JavaScript还支持称为 object 的复合数据类型。我们将在单独的章节中详细介绍对象。

注意 :  JavaScript不区分整数值和浮点值。 JavaScript中的所有数字都表示为浮点值。 JavaScript使用IEEE 754标准定义的64位浮点格式表示数字。

JavaScript变量

与许多其他编程语言一样,JavaScript有变数。变量可以被认为是命名容器。您可以将数据放入这些容器中,然后只需通过命名容器来引用数据。

在JavaScript程序中使用变量之前,必须声明它。使用 var 关键字声明变量,如下所示。

<script type = "text/javascript">
   <!--
      var money;
      var name;
   //-->
</script>

您还可以使用相同的 var 关键字声明多个变量,如下所示 :

<script type = "text/javascript">
   <!--
      var money, name;
   //-->
</script>

在变量中存储值称为变量初始化。您可以在变量创建时或在需要该变量的稍后时间点执行变量初始化。

例如,您可以创建名为 money b>并稍后为其分配值2000.50。对于另一个变量,您可以在初始化时分配一个值,如下所示。

<script type = "text/javascript">
   <!--
      var name = "Ali";
      var money;
      money = 2000.50;
   //-->
</script>

注意 : 仅将 var 关键字用于声明或初始化,一次用于文档中任何变量名称的生命周期。您不应该两次重新声明相同的变量。

JavaScript是无类型语言。这意味着JavaScript变量可以保存任何数据类型的值。与许多其他语言不同,您不必在变量声明期间告诉JavaScript变量将包含哪种类型的值。变量的值类型可以在程序执行期间发生变化,JavaScript会自动处理它。

JavaScript变量范围

范围变量是程序中定义它的区域。 JavaScript变量只有两个范围。

  • 全局变量 : 全局变量具有全局范围,这意味着它可以在JavaScript代码中的任何位置定义。

  • 局部变量 : 局部变量仅在定义它的函数中可见。函数参数始终是该函数的本地函数。

在函数体内,局部变量优先于全局变量一样的名字。如果声明一个与全局变量同名的局部变量或函数参数,则可以有效地隐藏全局变量。请看下面的示例。

在线演示

<html>
   <body onload = checkscope();>   
      <script type = "text/javascript">
         <!--
            var myVar = "global";      // Declare a global variable
            function checkscope( ) {
               var myVar = "local";    // Declare a local variable
               document.write(myVar);
            }
         //-->
      </script>     
   </body>
</html>

这会产生以下结果 :

 
 local

JavaScript变量名称

在JavaScript中命名变量时,请记住以下规则。

  • 您不应将任何JavaScript保留关键字用作变量名。这些关键字将在下一节中提到。例如, break boolean 变量名称无效。

  • JavaScript变量名称不应该启动用数字(0-9)。它们必须以字母或下划线字符开头。例如, 123test 是无效的变量名称,但 _123test 是有效的。

  • JavaScript变量名称区分大小写。例如,名称名称是两个不同的变量。

JavaScript保留单词

下表给出了JavaScript中所有保留字的列表。它们不能用作JavaScript变量,函数,方法,循环标签或任何对象名称。

abstractelseinstanceofswitch
booleanenumintsynchronized
breakexportinterfacethis
byteextendslongthrow
casefalsenativethrows
catchfinalnewtransient
charfinallynulltrue
classfloatpackagetry
constforprivatetypeof
continuefunctionprotectedvar
debuggergotopublicvoid
defaultifreturnvolatile
deleteimplementsshortwhile
doimportstaticwith
doubleinsuper