JavaScript – 变量
JavaScript 数据类型
一个编程语言最基本的特质之一就是它所支持的数据类型集合。这些值的类型可以在编程语言中表示和操作。
JavaScript 允许你使用三种基本数据类型进行操作−
- 数字, 如 123、120.50 等。
-
字符串, 如“这是一段文本字符串”等。
-
布尔值, 如 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 代码的任何位置定义。
-
局部变量 − 局部变量仅在定义它的函数中可见。函数参数始终局部于该函数。
在函数体内部,局部变量优先于与同名全局变量。如果你使用与全局变量同名的局部变量或函数参数,你将 effectively 隐藏全局变量。看下面的例子。
<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保留关键字作为变量名。 这些关键字在下一节中提到。 例如, 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 |