在JavaScript的基本类型中的数据可以是常量,也可以变量。
一、常量
1、整型常量
JavaScript的常量通常又称字面常量,它是不能改变的数据。其整型常量可以使用十六进制、八进制和十进制表示其值。
2、实型常量
实型常量是由整数部分加小数部分表示,如12.32、193.98 。可以使用科学或标准方法表示:5E7、4e5等。
3、逻辑型(布尔型)常量
布尔常量只有两种状态:True或False。 它主要用来说明或代表一种状态或标志,以说明操作流程。它与C++是不一样的,C++可以用1或0表示其状态,而JavaScript只能用True或False表示其状态。
4、字符型常量
使用单引号‘或双引号“括起来的一个或几个字符。如 "This is a book of JavaScript "、"3245"、"ewrt234234" 等。
5、空值
JavaScript中有一个空值null,表示什么也没有。如试图引用没有定义的变量,则返回一个Null值。
6、特殊字符
同C语言一样,JavaScript中同样以有些以斜杠(\)开头的不可显示的特殊字符。通常称为控制字符或转义字符。
三、变量
变量的主要作用是存取数据、提供存放信息的容器。对于变量必须明确变量的命名、变量的类型、变量的声明及其变量的作用域。
1、变量的命名
JavaScript中的变量命名同其计算机语言非常相似,这里要注意以下两点:
(1)必须是一个有效的变量,即变量以字母开头,中间可以出现数字如test1、text2等。除下划线(-)作为连字符外,变量名称不能有空格、(+)、(-)、(,)或其它符号。
(2)不能使用JavaScript中的关键字作为变量。
在JavaScript中定义了40多个类键字,这些关键字是JavaScript内部使用的,不能作为变量的名称。如Var、int、double、true等。
在对变量命名时,最好把变量的意义与其代表的意思对应起来,以免出现错误。
2、变量的类型
在JavaScript中,变量可以用命令Var作声明:
var mytest;
该例子定义了一个mytest变量。但没有赋予它的值。
Var mytest=”This is a book”
该例子定义了一个mytest变量, 同时赋予了它的值。
在JavaScript中,变量以可以不作声明,而在使用时再根据数据的类型来确其变量的类型。如:
x=100 y="125" xy= True cost=19.5等。
其中x整数,y为字符串,xy为布尔型,cost为实型。
例3:ex3.html
<script language="javascript">
var num=24,id="36";
x=num+id;
window.alert("x的值为:"+x); //显示的结果为“2436”
</script>
通过上例需要注意的问题:
Javascript语句区分大小写, 语句以分号作为结束符号;
用//来注释语句
变量需要用var定义可以给多个变量赋初值;
变量的类型转换:数值型自动转换成字符型再进行字符串连接运算(如上例);也可以通过函数显式地进行类型转换, Number()函数可实现字符串转换成数值型, String()可实现数值型转换成字符串。
例4:ex4.html
<script language="javascript">
var num=24,id="36";
x=num+ Number(id); //Number(id) 结果为60
y= String(num)+ id; //Number(id) 结果为60
window.alert("x的值为:"+x+"y的值为:"+y); //显示的结果为”60”“2436”
</script>
3、变量的声明及其作用域
JavaScript变量可以在使用前先作声明,并可赋值。通过使用var关键字对变量作声明。对变量作声明的最大好处就是能及时发现代码中的错误,特别是变量命名的方面。
对于变量还有一个重要性──那就是变量的作用域。在JavaScript中同样有全局变量和局部变量。全局变量是定义在所有函数体之外,其作用范围是整个函数或程序;而局部变量是定义在函数体之内,只对其该函数是可见的,而对其它函数则是不可见的。
作用域是指定变量的存活范围,在JavaScript中,变量的作用域可分为过程级和页面级,其实质都是局部变量;
在函数中运用var定义的变量只在函数体内有效, 如果出现同 名 则屏蔽函数外的变量;
如果未用var定义则使用函数外同 名 的变量, 如果没有同 名 的函数外变量则此变量在函数外无效。
例5:ex5.html
<script language="javascript">
var x=13,y=29;
function test() {
var num,y=10; //去掉num定义,则不会有错
num=x+y;
x++
window.alert("内部的num的值为:"+num); //显示为23
}
test();
window.alert("外部的num的值为:"+num); //显示错误
</script>
|