JavaScript 变量
JavaScript 数据类型
编程语言最基本的特性之一就是它所支持的数据类型集合。它们是编程语言中可以表示和操作的值的类型。
JavaScript 允许你使用三种基本数据类型:
- 数字 ,例如 123、120.50 等。
-
字符串 ,例如 “This text string” 等。
-
布尔 ,例如 true 或 false。
JavaScript 还定义了两种特殊的数据类型, null 和 undefined ,每种类型只定义了一个值。除了这些基本数据类型,JavaScript 还支持一种名为 对象 的复合数据类型。我们将在单独的章节中详细介绍对象。
注意 − 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 的变量,并在稍后将其赋值为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 变量名区分大小写。例如, 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 |