JavaScript的变量和常量

来自站长百科
跳转至: 导航、​ 搜索

导航: 上一页 | aJAX| XML | DreamWeaver | PhotoShop | Discuz | Asp | php | java | HTML | XHTML


变量 ---即可变的量。[ ]

  • 变量是存取数字、提供存放信息的容器。对于变量,必须明确变量的命名、变量的类型、变量的声明及其变量的作用域
  • 命名

只包含字母、数字和/或下划线并区分大小写;最好以字母开头;注意一定不能用数字开头。变量名称不能有空格、(+)、(-)、(,)或其它符号。最好不要太长,到时候看起来不方便.不能与JavaScript保留字重复。

  • 类型

变量有4种类型,分别为:整数变量字符串变量布尔型变量实型变量。依次如下:

x=100

y="125"

xy=True

cost=19.5

其中x为整数,y为字符串,xy为布尔型,cost为实型。

  • 声明

在使用前声明,并可赋值。通过使用Var关键字对变量作声明。

格式 var 变量=值

例如: var a=10;

当然你也可以等到用的时候再赋值,也可以一次定义多个变量


  • 作用域

在JavaScript中有全局变量和局部变量。全局变量是定义在所有函数体之外,其作用范围是整个函数;而局部变量是定义在函数体之内,只对其该函数是可见的,而对其它函数则是不可见得。

常量[ ]

在JavaScript中,常量有以下6种基本类型:

整型常量

JavaScript的常量通常又称字面常量,它是不能改变的数据。其整型常量可以使用十六进制、八进制和十进制表示其值。

实型常量

实型常量是由整数部分加小数部分表示,如12.32,193.98。可以使用科学或标准方法表示,如5e7,4e5等。

布尔值

布尔常量只有两种状态:True或False。它主要用来说明或代表一种状态或标志,以说明操作流程。

字符型常量

使用单引号(')或双引号(")括起来的一个或几个字符。如"This is a book of JavaScript","3245","ewrt234234"等。

空值

JavaScript中有一个空值Null,表示什么也没有。如试图引用没有定义的变量,则返回一个Null值。

特殊字符

JavaScript中有以反斜杠(/)开头的不可显示的特殊字符。通常称为控制字符。

变量的作用域[ ]

变量的作用范围就叫做作用域,是指某变量在程序中的有效范围。根据作用域,变量可以分为全局变量局部变量

  • 全局变量的作用域是全局性的,即在整个JavaScript程序中,全局变量处处都在。
  • 而在函数内部声明的变量,只在函数内部起作用。这些变量是局部变量,作用域是局部性的;函数的参数也是局部性的,只在函数内部起作用。


在函数内部,局部变量的优先级比同名的全局变量优先级要高;如果存在与全局变量名称相同的局部变量,或者在函数内部声明了与全局变量同名的参数,那么,该全局变量将不再起作

用。如下例子:

<script language="javascript" type="text/javascript">
<!--
 var a = "我是一个全局变量";
 function check()
 {
      var a = "我是一个局部变量";
      document.write(a);
 }
 check();
//-->
</script>

输出是:我是一个局部变量

JavaScript没有块级作用域,函数中声明的所有变量无论是在哪里声明的,在整个函数中都有意义。在下面代码中,变量i,j,k作用域相同,在整个函数体中都有意义。看下下面例

子:

<script language="javascript" type="text/javascript">
<!--
 function check()
 {
         var i = 0;
         if(i == 0)
         {
                var j = 1;
                for(var k = 0;k < 1;k ++)
               {
                      document.write("k在循环体内的值为:" + k + "<br />");
               }
               document.write("k在循环体内的值为:" + k + "<br />");
         }
        document.write("j在if语句外的值为:" + j);
 }
 check();
//-->
</script>

输出为:

k在循环体内的值为:0

k在循环体内的值为:1

j在if语句外的值为:1