JavaScript的变量
任何编程语言中,用一块数据量化一个概念。
How old am I?
在 JavaScript中,变量是给概念的名称;它代表了给出瞬间的值。当使用该变量时,实际是用的它所代表的数据。给出示例:
NumberOfDaysLeft = EndDate – TodaysDate;
机械的理解是使用变量来存储、得到并操作脚本中出现的所有的不同值。创建有意义的变量名称;便于别人理解脚本。
变量声明
变量在脚本中的第一次出现是在声明中。变量在第一次用到时就设置于内存中,便于后来在脚本中引用。使用变量之前先进行声明。可以使用 var 关键字来进行变量声明。
var count; // 单个声明。
var count, amount, level; // 用单个 var 关键字声明的多个声明。
var count = 0, amount = 100; // 一条语句中的变量声明和初始化。
如果在 var 语句中没有初始化变量,变量自动取 JavaScript值 undefined。尽管并不安全,但声明语句中忽略 var 关键字是合法的 JavaScript语法。这时,JavaScript解释器给予变量全局范围的可见度。当在过程级中声明一个变量时,它不能用于全局范围;这种情况下,变量声明必须用 var 关键字。
变量命名
变量名称是一个标识符。JavaScript中,用标识符来:
命名变量,
命名函数,
给出循环的标签。
JavaScript是一种区分大小写的语言。因此变量名称 myCounter 和变量名称 mYCounter 是不一样的。变量的名称可以是任意长度。创建合法的变量名称应遵循如下规则:
第一个字符必须是一个 ASCII 字母(大小写均可),或一个下划线(_)。注意第一个字符不能是数字。
后续的字符必须是字母、数字或下划线。
变量名称一定不能是 保留字。
下面给出合法变量名称的一些示例:
_pagecount
Part9
Number_Items
下面给出无效变量名称的一些示例:
99Balloons // 不能以数字开头。
Smith&Wesson // “与”符号(&)字符用于变量名称是无效的。
当要声明一个变量并进行初始化,但又不想指定任何特殊值,可以赋值为 JavaScript值 null。下面给出示例。
var bestAge = null;
var muchTooOld = 3 * bestAge; // muchTooOld 的值为 0。
如果声明了一个变量但没有对其赋值,该变量存在,其值为JavaScript值 undefined。下面给出示例。
var currentCount;
var finalCount = 1 * currentCount; // finalCount 的值为 NaN,因为 currentCount 为 undefined。
注意在 JavaScript中 null 和 undefined 的主要区别是 null 的操作象数字 0,而 undefined 的操作象特殊值NaN (不是一个数字)。对 null 值和 undefined 值作比较总是相等的。
可以不用 var 关键字声明变量,并赋值。这就是隐式声明。
noStringAtAll = ""; // 隐式声明变量 noStringAtAll。
不能使用未经过声明的变量。
var volume = length * width; // 错误 — length 和 width 并不存在。
强制转换
表达式中操作项的数据类型相同时 JavaScript解释器才能对其求值。如果表达式不经过强制转换就试图对两个不同的数据类型(如一个为数字,另一个为字符串)执行运算,将产生错误结果。但在 JavaScript中情况就不同了。
JavaScript是一种自由类型的语言。它的变量没有预定类型(相对于强类型语言,如 C++)。相反,JavaScript变量的类型相应于他们包含的值的类型。这种操作的好处是能将值作为另一类型处理。
在 JavaScript中,可以对不同类型的值执行运算,不必担心 JavaScript解释器产生异常。相反,JavaScript解释器自动将数据类型之一改变(强制转换)为另一种数据类型,然后执行运算。例如:
运算 结果
数值与字符串相加 将数值强制转换为字符串。
布尔值与字符串相加 将布尔值强制转换为字符串。
数值与布尔值相加 将布尔值强制转换为数值。
考虑下面的示例。
var x = 2000; // 一个数字。
var y = "Hello"; // 一个字符串。
x = x + y; // 将数字强制转换为字符串。
document.write(x); // 输出 2000Hello。
要想显式地将字符串转换为整数,使用 parseInt 方法。要想显式地将字符串转换为数字,使用 parseFloat 方法。请注意,比较大小时字符串自动转换为相等的数字,但加法(连接)运算时保留为字符串。
分享到:
相关推荐
JavaScript中的变量声明是编程的基础,理解这一概念对于编写健壮的代码至关重要。本文将深入探讨JavaScript中的变量声明,包括全局变量、...对于更多JavaScript变量声明的深入学习,可以参考IT技术专栏获取相关信息。
JavaScript变量声明是编程基础中的重要一环,理解变量声明对于编写有效的JS代码至关重要。本文将深入探讨JavaScript中的变量声明方式,以及与之相关的全局变量、局部变量、隐式全局变量和“hoisting”(悬置/置顶...
接下来,我们将深入探讨JavaScript变量声明的相关知识点。 首先,JavaScript中变量的声明方式主要有三种关键字:var、let和const。这里,我们将重点讨论var关键字,因为它是较早期版本JavaScript中唯一的声明方式,...
通过以上分析,我们可以看到JavaScript变量声明的复杂性和重要性。无论是在编写可维护的代码还是在提高代码性能方面,正确理解和使用变量声明都是不可或缺的。编写JavaScript代码时,务必注意作用域和变量声明的位置...
JavaScript变量声明涉及的知识点包括变量声明提升、变量作用域、函数作用域、块级作用域以及作用域链。理解这些知识点是编写有效和可预测的JavaScript代码的关键。在实际开发过程中,推荐使用let和const来代替var,...
在 JavaScript 中,函数中声明的变量在整个函数中都有定义。这意味着,即使在函数体内部定义了局部变量,该变量也可以在整个函数体内使用,并可以重新赋值。 了解 JavaScript 变量作用域的规则非常重要,因为它可以...
### JavaScript变量详解 #### 一、变量命名 在JavaScript中,变量命名有着一定的规范和推荐的最佳实践,这对于代码的可读性和维护性至关重要。 ##### 1. 命名规则 - **首字符限制**:变量名的第一个字符必须是...
总结来说,JavaScript变量声明是一个多维度的话题,涵盖了声明方式、作用域、提升机制等关键概念。掌握这些概念对于编写清晰、健壮和可维护的JavaScript代码至关重要。在实际开发过程中,推荐使用let和const代替var...
var声明变量的作用域限制在其声明位置的上下文中 var x = 0; // x是全局变量,并且赋值为0。 console.log(typeof z); // undefined,因为z还不存在。 function a() { // 当a被调用时, var y = 2; // y被声明成...
在声明变量时,JavaScript会自动为变量分配内存空间,无需程序员手动管理。 ### 2.2.3 变量的命名规则 3. **命名规则**: - 变量名必须以字母、下划线(_)或美元符号($)开头。 - 之后可以是字母、数字、...
本篇文章将深入探讨JavaScript声明全局变量的几种方法以及如何访问这些变量。 1. **全局变量的声明方式** - **`var` 关键字**:这是最传统的声明全局变量的方式。当你在函数外部或任何代码块之外使用`var`关键字...
4. **变量声明**:VBScript使用Dim声明变量,JavaScript变量声明可省略。 5. **异常处理**:VBScript使用On Error语句,JavaScript使用try...catch。 综上所述,"javascript中文帮助文档"和"vbscript"的中文帮助...
本文实例讲述了JavaScript的变量声明与声明提前用法。分享给大家供大家参考,具体如下: JavaScript的变量声明 JavaScript的变量声明语句无论出现在何处,都会先于其他代码首先被执行。使用var关键词声明变量的作用...
根据提供的信息,我们可以深入探讨与前端开发相关的JavaScript基础知识,这些内容涵盖了输出方法、变量声明、数据类型及其转换等几个方面。 ### JavaScript 输出方法 在JavaScript中,有多种方式可以在浏览器环境...
一、JavaScript变量声明提升 在题目1中,我们看到两种不同的变量声明方式:var声明和函数声明。JavaScript中的变量声明提升是指在编译阶段,JavaScript引擎会将变量声明提升至作用域的顶部,而变量的赋值操作则保留...