Javascript 变量

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

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

<script type = "text/javascript">
   <!--
      var web;
      var url;
   //-->
</script>

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

<script type = "text/javascript">
   <!--
      var web, url;
   //-->
</script>

在变量中存储值的过程被称为变量初始化。可以在创建变量时或稍后需要该变量时进行变量初始化。

例如,我们可以创建一个名为web的变量,并稍后为其分配值 迹忆客。对于另一个变量,可以在声明变量的时候进行初始。

<script type = "text/javascript">
   <!--
      var url = "https://jiyik.com";
      var web;
      web = "迹忆客";
   //-->
</script>

注意-仅将var关键字用于声明或初始化,在文档中任何变量名称的生命周期内使用一次。不能声明两次相同的变量。

JavaScript 是无类型语言(这一点和PHP很像)。这意味着 JavaScript 变量可以保存任何数据类型的值。与许多其他语言不同,不必在变量声明时告诉 JavaScript 变量将保存什么数据类型的值。变量的值的类型可以在程序执行期间改变,JavaScript 会自动处理这种情况。

JavaScript 变量作用域

变量的作用域是定义它的程序区域。JavaScript 变量只有两个作用域。

  • 全局变量- 全局变量具有全局作用域,这意味着它可以在 JavaScript 代码中的任何位置定义使用。
  • 局部变量- 局部变量仅在定义它的函数中可见。函数参数始终是该函数的本地参数。

在函数体内,局部变量优先于同名的全局变量。如果你声明一个与全局变量同名的局部变量或函数参数,那么实际上就相当于隐藏了全局变量。看看下面的例子。

<html>
   <body onload = checkscope();>   
      <script type = "text/javascript">
         <!--
            var myVar = "global";      // 初始化一个全局变量
            function checkscope( ) {
               var myVar = "local";    // 声明一个局部变量
               document.write(myVar);
            }
         //-->
      </script>     
   </body>
</html>

尝试一下

上述代码会在页面显示如下结果

local

关于javascript更详细的变量作用域的知识点,请阅读我们的文章 你了解Javascript中潜藏在变量中的那些陷阱吗

JavaScript 变量名

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

  • 不应使用任何 JavaScript 保留关键字作为变量名。这些关键字将在接下来的内容中列出。例如,命名为 break 或 boolean 的变量名称无效。
  • JavaScript 变量名不应以数字 (0-9) 开头。它们必须以字母或下划线字符开头。例如,123test是一个无效的变量名,而_123test是一个有效的变量名。
  • JavaScript 变量名区分大小写。例如,Name和name是两个不同的变量。

JavaScript 保留的关键字

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

abstract else instanceof switch
boolean enum int synchronized
break export interface this
byte extends long throw
case false native throws
catch final new transient
char finally null true
class float package try
const for private typeof
continue function protected var
debugger goto public void
default if return volatile
delete implements short while
do import static with
double in super

查看笔记

扫码一下
查看教程更方便