资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,*,2.1 JavaScript,概述,JavaScript,是一种轻量级的、解释性的程序设计语言,而且具备一定面向对象的能力。,JavaScript,与操作系统无关,它依赖,JavaScript,的解释引擎。浏览器通过内嵌,JavaScript,的解释引擎从而获得了对,JavaScript,的处理能力。通过在网页中嵌入,标签,将,JavaScript,脚本添加到网页中,使得网页不再是简单的静态,HTML,,而是包含了控制浏览器的程序、动态创建,HTML,内容和与用户交互的程序,即动态,HTML,(,DHTML,)。,2.2,数据类型和值,JavaScript,支持三种最基本的数据类型:,数字、字符串和布尔值,,另外还支持两种比较特殊的小数据类型:,null,(空)和,undefined,(未定义),他们各自只被定义了一个可以被使用的值。除此之外,,JavaScript,还支持复合数据类型:,对象、数组、函数、以及一些对象类,。下面将对他们一一介绍。,2.2.1,数字,数字(,number,)是最基本的数据类型。与其他程序设计语言不同,,JavaScript,并不区分整型数值和浮点数值,所有的数字都是由浮点型表示的。,JavaScript,采用,IEEE754,标准定义的,64,位浮点格式来表示数字,所能表示的最大值为:,1.797693134862315,710,303,最小值是,5,10,-324,。常见使用方法如下所示。,var,a=1000;,var,b=3.1415926;,var,c=4.14e2;,var,d=3.28E-5;,2.2.2,字符串,字符串(,string,)是由,单引号或者双引号括起来的,Unicode,字符序列,,其中可以含有,0,个或多,个字符。,JavaScript,并没有,char,这种单个字符的数据类型,所以要表示单个字符,只能用长度为,1,的字符串来代替。,2.2.3,布尔值,布尔值(,bool,)只有两个值:,true,和,false,,来表示某个事务为真还是为假。在,JavaScript,中,布尔值通常用在作为,比较结果和流程控制,中。,2.2.4,函数,函数(,function,)是一个可执行的程序代码段。函数,被定义,后,可以多次被程序所调用。,JavaScript,的函数可以带有实际参数或形式参数,用于指定这个函数执行计算的时候所需要使用到的一个或者多个值,在,函数执行完后可以返回一个值来表示计算结果,。,2.2.5,对象,对象(,object,)是已经命名的数据的集合,这些被命名的数据通常被作为对象的属性来使用,数据的名称是对象的属性名,而数据的值则是对象的属性值。,对象的属性本身可以是任何的,JavaScript,数据类型,。创建一个对象可以使用,new,关键字创建对象实例,也可以使用对象直接量的语法。,2.2.6,数组,数组(,array,)和对象一样,都是数据的集合,所不同的是,对象中每一个数据元素都有一个名字,而数组中的每一个数据元素都有一个编号(下标)。数组的下标是从,0,开始的。例如有一数组名字为,a,,则,a0,表示第一个元素,,a1,表示第二个元素,依此类推。数组的元素可以为任何,JavaScript,数据类型。,JavaScript,没有多维数组,,但是数组的元素可以为其他数组。,JavaScript,是一种无类型的语言,所以,JavaScript,中数组的元素不需要具有相同的类型。,2.2.7 null,值,JavaScript,中的,null,关键字是一种特殊的值,它表示“没有值”。它是独一无二的,有别于所有其他类型的值。,null,通常用来标识和判断目标对象是否有意义。当一个变量的值为,null,时,就可以判断它的值不是有效的数字、字符串、布尔值、对象和数组。,2.2.8 undefined,值,同,null,一样,,undefined,也是一种特殊的值,它的意思是“,未声明的,未定义的,”。当你使用了一个未声明的变量,或者使用了一个声明了但并未赋值的变量,或者使用了一个并不存在的对象的属性,/,方法的时候,程序就会返回这个值。有意思的是,,undefined,和,null,虽然不同,但是表达式,undefined=null,却是返回,true,,所以如果要比较,undefined,值和,null,值,需要使用全等运算符:,=,。,2.3 JavaScript,的变量,变量是计算机编程中的一个重要的概念。变量是一个可以存储值的名称,这些值可以在程序运行中被改变。,JavaScript,的变量可以存储任何,JavaScript,支持的数据类型的值。,本章中将向读者介绍如何使用,JavaScript,的变量。,2.3.1,变量的类型,JavaScript,是一种无类型(弱类型)程序设计语言,这表示,JavaScript,的变量可以存放任何类型的值,,JavaScript,的变量可以在程序中被先后赋予不同数据类型的值,,2.3.2,变量的声明,使用一个,JavaScript,的变量之前,必须先声明它。变量的声明,使用,var,关键字。,var,a;,var,b;,2.3.3,变量的作用域,变量的作用域,是指在程序中定义这个变量的区域。变量按照作用域的不同,一般分为全局变量和局部变量。全局变量是指变量的作用域是全局性的,在整个应用程序中,处处都有该变量的定义,也就是在任何地方都可以使用它。局部变量的作用域是局部的,只能在局部范围内被使用。在,JavaScript,中,,在函数内声明的变量,是局部变量,其有效范围是整个函数体。函数的参数也是局部变量,。而在函数体外声明的变量,则是全局变量。参考以下代码。,2.3.4,基本类型和引用类型,所有的数据类型可以被分为两种:基本类型和引用类型。基本类型在内存中具有固定的大小,而引用类型则没有固定的大小。基本类型的变量,存储的是值的本身,而引用类型的变量,存储的是对值的引用。通常引用的形式,是指针或者内存地址,它告诉变量在哪里可以找到这个值。理解基本类型和引用类型的差别,对,JavaScript,学习是很重要的。,2.4,表达式和运算符,上一节为读者介绍了,JavaScript,的变量,本节主要介绍,JavaScript,的表达式和运算符。,JavaScript,的表达式和运算符与,C,、,C+,或者,Java,的很相似。如果读者是一位有经验的,C,、,C+,或者,Java,程序员,那么可以快速的浏览这一节的内容,如果不是,那么读者可以详细地阅读本节有关,JavaScript,的表达式和运算符的知识介绍。,2.4.1,表达式,表达式是关键字、变量、常量和运算符的组合,可以用于执行运算、处理字符或测试数据。,JavaScript,的解释引擎可以计算表达式,并返回一个结果值。,2.4.2,算术运算符,算术运算指的是数学中最基本的加减乘除等运算。,JavaScript,的算术运算符主要有:,1,加法运算符(,+,),2,减法运算符(,-,),3,乘法运算符(*),4,除法运算符(,/,),5,模运算(,%,),6,递增运算符(,+,),7,递减运算符(,-,),2.4.3,相等运算符,相等运算符用来比较两个值,根据比较结果返回一个布尔值。广义的相等运算符包含:,1,相等运算符(,=,),2,等同运算符(,=,),3,不等运算符(,!=,),4,不等同运算符(,!=,),2.4.4,关系运算符,用来测试两个值之间的关系,如果指定关系成立,则返回,true,,否则返回,false,。关系运算符包含:,1,比较运算符。,2,in,运算符。,3,Instanceof,运算符。,2.4.5,赋值运算符,赋值运算符(,=,)可以将运算符右边运算数的值赋给左边的运算数,它要求左边的运算数为变量、数组的元素或者对象的属性,而右边的运算数可以为任意类型的值。,2.4.6,逻辑运算符,逻辑运算符通常用来做针对布尔值的操作,主要包含:,1,逻辑与(,&,)运算符,2,逻辑或(,|,)运算符,3,逻辑非(,!,)运算符,2.4.7,字符串运算符,所有能够作用于字符串的运算符,称为字符串运算符。除了前面介绍的,相等运算符和比较运算符,外,字符运算符还包含,“,+”,运算符,。,2.4.8,其他运算符,除了上面介绍的运算符外,,JavaScript,还有一些其他的运算符。如:按位运算符、条件运算符、,typeof,运算符、,new,运算符、,delete,运算符、,void,运算符等等,将在使用到的时候作简单介绍。,2.5,语句,在上一节中向读者介绍了,JavaScript,常用的运算符,这一节向读者介绍,JavaScript,的语句。一个,JavaScript,程序就是若干语句的集合,每个语句都是程序的组成部分。,JavaScript,的语句可以分为表达式语句和复合语句。表达式语句就是一些不同的表达式,而复合语句则是可以包含其他语句的组合语句。,JavaScript,规定每个复合语句可以有一个子语句,可以通过大括号将多个其他语句包含起来组成语句块放入子语句中。下面是一些表达式语句。,2.5.1,声明变量:,var,语句,读者在变量一节中已经见过,var,的使用,,var,语句用来声明一个或多个变量,语法如下所示。,var,name_1 =value_1 ,.,name_n,=,value_n,;,2.5.2,流程控制:,if,语句,JavaScript,中最基本的流程控制语句,就是,if,语句。,If,语句有两种形式:,if,和,if.else,。,2.5.3,流程控制:,else if,语句,if else,语句可以在两个子语句中选择其中之一执行,如果需要在多条语句中选择一条语句执行,则可以使用,else if,语句。,else if,语句其实并不是一种真正的,JavaScript,语句,而是,if else,语句的一种变化形式。,2.5.4,流程控制:,switch,语句,If,语句会在程序执行的流程中产生一个分支,而重复搭配使用的,else if,则可以执行多个分支,当所有分支都需要重复使用一个变量时,多次的重复计算就形成了一种浪费,这个时候可以使用,switch,来代替。,2.5.5,循环:,while,语句,while,语句允许,JavaScript,执行重复的动作,其基本语法如下所示。,while(,表达式,),子语句,2.5.6,循环:,do/while,语句,do/while,语句与,while,语句非常相似,所不同的是,do/while,是在语句底部检查表达式的值,所以其子语句至少会被执行一次。其基本语法如下所示。,do,子语句,while(,表达式,);,2.5.7,循环:,for,语句,for,语句与,while,语句一样,同样用于循环操作,但是它提供了比,while,语句更方便的语法结构。其基本语法如下所示。,for(,表达式,1;,表达式,2;,表达式,3),子语句,2.5.8,遍历:,for/in,语句,for,语句还有一个不同的用法,就是与,in,搭配使用。其语法如下所示。,for(,变量,in,对象,),子语句,2.5.9,控制语句:,break,语句,break,语句会使程序立即跳出包含在最内层的循环或者跳出一个,switch,语句,它的语法如下所示。,break;,2.5.10,控制语句:,continue,语句,continue,语句用于循环中,跳出当前循环而直接进入下一次循环。,continue,语句只能用在,while,、,do/while,、,for,、,for/in,语句中。与,break,的语法一样,,continue,可以单独使用,也可以和标签搭配使用。,2.5.11,函数语句:,function,语句,function,语句用来定义一个,JavaScript,的函数。在数据类型一节中已经向读者
展开阅读全文