收藏 分享(赏)

Javascript.pptx

上传人:sjmd695 文档编号:8646779 上传时间:2019-07-07 格式:PPTX 页数:161 大小:2.17MB
下载 相关 举报
Javascript.pptx_第1页
第1页 / 共161页
Javascript.pptx_第2页
第2页 / 共161页
Javascript.pptx_第3页
第3页 / 共161页
Javascript.pptx_第4页
第4页 / 共161页
Javascript.pptx_第5页
第5页 / 共161页
点击查看更多>>
资源描述

1、javascript,JavaScript语言概况,JavaScript语言概况,JavaScript语言概况,什么是JavaScript ?JavaScript是一种基于对象(Object)和事件驱动(Event Driven)并具有安全性能的脚本语言。简单的说它是一种脚本语言,结构简单,使用方便,其代码可以直接放入HTML文档中,可以直接在支持JavaScript的浏览器中运行。 JavaScript使得网页制作的交互性更强,更生动和灵活。当在浏览网页时做了某种操作就产生一个事件, JavaScript所编写的程序对相应的事件做出反应。,JavaScript语言概况,基本特点:脚本编写语言

2、基于对象的语言简单性简化的java语言;变量类型采用弱类型 动态性JavaScript是动态的,采用以事件驱动的方式进行的 跨平台性 JavaScript是依赖于浏览器本身,与操作环境无关,JavaScript语言概况,JavaScript和Java的区别 :1、基于对象和面向对象 2、执行过程不同 3、强变量和弱变量 JavaScript Javavar n = 1 int n= 1;n = 1.5 float n= 1.5; n = “李宏瑞” String n = “李宏瑞”;4、嵌入方式不一样JavaScript使用.来标识 Java使用.来标识,JavaScript语言概况,Java

3、Script程序运行编写环境: Netscape Navigator x.0或Internet Explorer x.0。用于编辑HTML文档的字符编辑器(WS、WPS、Notepad、WordPad等)或HTML文档编辑器。,JavaScript语言概况,怎样使用JS 语法 :JavaScript语言代码; JavaScript 语言代码; 解释: .指明JavaScript脚本源代码将放入其间。通过属性Language =“JavaScript”说明标识中是使用的何种语言分号作为语句结束符是可选的,当在一行上放置多于一条的表达式时才必须使用分号分隔,JavaScript引入方式,Javas

4、cript第二种引入方式: 是写单独的JS文件,然后在HTML中引入该文件:引入JS文件后,在HTML文件中就可以调用JS文件定义的函数了 还包含了一个language属性,用于指定使用的脚本语言 例子:thirdscript.html,JavaScript程序编写注意事项:,字符集: JavaScript程序是用Unicode字符集编写的。与7位的ASCII码或者8位扩展的ASCII码不同,16位的Unicode编码可以表示地球上通用的每一种书面语言。 JS是区分大小写的 函数名称为“myfunvtion”并不和“myFunction”相同 空格的使用 JS会忽略多余的空白。name=“He

5、ge“ 与 name = ”Hege”相同 JS的注释 单行注释:/this is a comment 多行注释:/* This is a commentblock. It containsseveral lines */,JavaScript程序编写注意事项:,可选的分号: JavaScript中的简单语句后通常有分号,这主要是为了分隔语句。但是在JS中,如果语句分别放置在不同的行中,就可以省去分号。,词法结构,直接量:直接量就是程序中直接显示出来的数据值。,词法结构,标识符:就是一个名字。在JavaScript中,标识符用来命名变量和函数,或者用作JavaScript代码中某些循环的标签。

6、 JavaScript中合法的标识符的命名规则和Java以及其他许多语言的命名规则相同。第一个字符必须是字母、下划线或美元符号,后跟字母、数字、下划线或美元符号。注意:标识符不能与JavaScript中用于其他目的关键字同名。,词法结构,关键字(1)。,词法结构,关键字(2)。,词法结构,关键字(3)。,Javascript基本构成,变量 语句 三种控制语句 函数 对象 方法 属性,JavaScript变量及特点,因为JavaScript是无类型的语言,意味着JavaScript的变量可以存放任何类型的值,并且可以在必要时快速、自动地将一种类值转换成另外一种类型。1、变量的声明:在JavaSc

7、ript程序中,在使用一个变量前,必须先声明它。变量是使用关键字var声明的。例如:var x;2、变量的作用域:一个变量的作用域是程序中定义这个变量的区域。全局变量的作用域是全局性的,即在JavaScript代码中,它,JavaScript变量及特点,处处都有定义。而在函数之内声明的变量,就只在函数体内部有定义。它们是局部变量,作用域是局部性的。函数的参数也是局部变量,它们只在函数体内部有定义。没有块级作用域:JavaScript没有块级作用域。函数中声明的所有变量,无论是在哪里声明的,在整个函数中它们都是有定义的。3、基本类型和引用类型:JavaScript中将数据类型分为两组,即基本类型

8、和引用类型。数值、布尔值、null和未定义的值属于基本类型。对象、数组和函数属于引用类型。它们之间的区别与Java一样。,JavaScript变量及特点,4、无用存储单元收集:JavaScript与Java一样,不要求手动地去回收内存,它使用一种称为无用存储单元收集的方法。JavaScript的解释器可以万事俱备时程序不再使用一个对象了。当它确定了一个对象是无用的时候,就可以把它所占用的内存释放掉。5、作为属性的变量:当JavaScript的解释器开始运行时,它首先要做的事情之一就是在执行任何JavaScript代码之前,创建一个全局对象。这个对象的属性就是JavaScript程序的全局变量。

9、,JavaScript变量的类型可以是: 1、整型 可以是正整数、0、负整数,可以是十进制、八进制、十六进制。八进制 “0”,十六进制加“0x”。 2、浮点型 即“实型” 3、字符串型 用单引号或双引号。 4、布尔型 true和 false。 5、对象,JavaScript变量类型,Js中的数据类型,1、数字:数字是最基本的数据类型,它们几乎无需解释。JavaScript和其他程序设计语言(如C和Java)的不同之处在于它并不区分整型值和浮点型数值。在JavaScript中,所有的数字都是由浮点型表示的(64位)。2、字符串:是由Unicode字符、数字、标点符号等组成的序列,程序中的字符串直

10、接量是包含在单引号或双引号中的。注意:JavaScript和C/C+、Java不同的是,它没有char这样的字符数据类型。要表示单个字符,必须使用长度为1的字符串。,Js中的数据类型,3、布尔值:布尔数据类型只有两个值,这两个合法的值分别由直接量true和false表示。尽管JavaScript有布尔类型,但它不像Java的boolean数据类型那么纯粹,JavaScript的布尔值可以被轻易地转换成其他数据类型,反之亦然,所以,在实践中,JS的布尔值的用法更像C的布尔值,而不像Java布尔值。4、函数:是一个可执行的JavaScript代码段,由JavaScript程序定义。虽然函数只被定义

11、一次,但是JavaScript程序却可以多次执行或调用它。,Js中的数据类型,5、对象:是已命名的数据的集合。这些数据通常被作为对象的属性来引用。要引用一个对象的属性,就必须引用这个对象,在其后加.和属性名。对象的属性可以是任何类型的数据,包括数组、函数以及其他的对象。6、数组:数组和对象一样是数值的集合。由于JavaScript是一种无类型语言,因此数组元素不必具有相同的类型。,Js中的数据类型,7、null:JavaScript的关键字null是一个特殊的值,它表示“无值”。8、 undefined:还有一种特殊值JavaScript会偶尔一用,它就是值undefined。在你使用了一个并

12、未声明的变量时,或者使用了已经声明但还没有赋值的变量时,又或者使用了一个并不存在的对象属性时,返回的就是这个值。,Js中的数据类型,9、Date:在JavaScript中,日期和时间值不属于基本类型,JavaScript提供了一个表示日期和时间的对象类,可以用来操作这种类型的数据。在JavaScript中,可以用运算符new和构造函数Date()来创建一个Date对象。10、正则表达式:正则表达式为描述文本模式提供了丰富、强大的语法,它们常用于模式匹配和查找并替换的操作。在JavaScript中,正则表达式是由RegExp对象表示的,可以使用RegExp()构造函数来创建它。,Js中的数据类型

13、,11、Error对象:ECMAScript v3定义了大量表示错误的类。当发生运行时错误时,JavaScript解释器会抛出某个类的对象。每个Error对象具有一个message属性,它存放的是JavaScript实现特定的错误消息。预定义的错误对象的类型有Error、EvalError、RangeError、ReferenceError、SyntaxError、TypeError和URIError。12、基本数据的包装对象:三个关键的基本数据类型都有一个对应的包装类。简而言之,就是JavaScript不仅支持数字、字符串和,Js中的数据类型,布尔值这些数据类型,还支持Number、Stri

14、ng和Boolean类。这些类是那些基本数据类型的包装类。,js表达式和运算符,1、表达式:JavaScript中的表达式的概念与Java中表达式的概念十分相似,即,由若干直接量或变量或表达式连接适当的运算符组成的式子称为表达式。2、运算符:,js表达式和运算符,js表达式和运算符,js表达式和运算符,JavaScript语句,以分号结束,可以使用将多个语句括在一起 JavaScript语句在语法上与Java基本相同,也包括了顺序、分支、循环三种程序结构 顺序结构按语句顺序执行; 分支结构根据条件执行不同的语句块; 循环则反复执行同一语句块。,js语句,具体有 表达式语句、复合语句、 if语句

15、、switchcase语句、 while语句、dowhile语句、for语句、forin语句、 标签语句、break语句、coutinue语句、 var语句、function语句、return语句、 throw语句、trycatchfinally语句、 with语句以及空语句。这部分内容多数与Java中相同。,Javascript分支结构,if语句if ( ) else ; switch语句switch (e) case r1: break; case r2: break; default: . 例子:ifswitch.html,Javascript循环结构,for 循环 for (=; ;

16、) ; for循环例子:for.html while循环 while () ; do while() ; while循环例子:while.html,Javascript循环结构,break 结束循环,跳出循环体 continue 结束本次循环,进入下一次循环 例子:break&continue.html,Js中比较特殊的语句,1、forin语句: forin语句提供了一种遍历对象属性的方法。for/in循环的主体对object的每个属性执行一次。在循环体执行之前,对象的一个“属性名”会被作为字符串赋给变量variable。在循环体内部,我们可以使用这个变量和“”运算符来查询该对象属性的值。语法

17、格式:for (variable in object) statement; ,Js中比较特殊的语句,2、function语句:定义了一个JavaScript函数。语法: function funcname(args ,arg2 ,argn) statements ,Js中比较特殊的语句,3、我们在前几节课中讲过变量的作用域和作用域链来进行变量名解析。with语句用于“暂时”修改作用域链。语法格式:with ( object ) statement ,Javascript函数,JavaScript中函数有多种,如对象的方法、全局函数等等。这里所说的函数是指自定义函数。 定义函数用以下语句: f

18、unction 函数名(参数集) 函数体; . return ; . 其中,用在 function 之后和函数结尾的大括号是不能省去的,就算整个函数只有一句。,js函数注意事项,1、函数的定义和调用:定义函数最常用的方法就是调用function语句,它后面跟着参数列表和函数主体。在函数使用过程中需要注意的是:因为JavaScript是一种无类型语言,所以不能给函数的参数指定一个数据类型,而且JavaScript也不会检测传递的数据是不是那个函数所要求的类型。如果参数的数据类型很重要,那么可以用运算符typeof对它进行检测。JavaScript也不会检测传递给它的参数个数是否正确。如果传递的个

19、数比函数需要的个数多,那么多余的值会被忽略掉。如果传递的参数比函数需要的个数少,那么多余的几个参数就会被赋予undefined。,js函数注意事项,除用function定义函数外,还有几种定义函数的方法:(1)嵌套函数:函数定义可以嵌套在其他函数中;(2)使用Function()构造函数和new运算符动态地定义函数;例如:var f = new Function(“x“,“y“,“return x*y;“);(3)使用函数直接量,它是一个表达式,它可以定义匿名函数。函数直接量的语法和function语句非常相似,只不过它被用作表达式,而不是用作语句,而且也无需指定函数名。例如:var f =

20、function(x) return x*x; ;,js函数注意事项,2、作为数据的函数:在JavaScript中,函数并不只是一种语法,还可以是数据,这意味着能够把函数赋给变量、存储在对象的属性中或存储在数组的元素中、传递给函数,等等。3、函数的实际参数arguments对象:在一个函数体内,标识符arguments具有特殊含义。它是调用对象的一个特殊属性,用来引用arguments对象。arguments对象就像数组,可以按照下标获得传递给函数的指定数值。尽管定义JavaScript函数时有固定数目的命名参数,但当调用这个函数时,传递给它的参数数目却可以是任意的。数组arguments允许

21、完全在存,js函数注意事项,那些实际参数值,即使某些参数还没有被命名。而且和所有数组一样,arguments具有length属性,用于说明它所含有的元素个数(相当于实际传递参数的个数)。4、函数的属性和方法:在函数主体中,arguments数组的length属性指定了传递给该函数的实际参数数目。但是函数自身的length属性的含义却非如此。它是只读特性,返回的是函数需要的实际参数的数目,也就是在函数的形式参数列表中声明的形式参数的数目。,Javascript对象,JavaScript与Java类似,也采用了对象化编程 对象包括基本对象和对象DOM 基本对象:可以将声明的变量视为对象,依其类型不

22、同可以调用对象不同的属性和方法 DOM(document object model)对象:页面内容也可以抽象成对象,依其种类的不同,也有不同的属性和方法简单的说,DOM是一种理念,一种思想,一种方法使 Web开发人员可以访问HTML元素!,js对象,1、对象和属性:对象是一种复合数据类型,它们将多个数据值集中在一个单元中,而且允许使用名字来存取这些值,且对象是一个无序的属性集合。存储在对象中的已命名的值既可以是数字和字符串这样的原始值,也可以是对象。属性的设置和查询:通常使用“.”运算符来存取对象的属性。左边是对象的引用,右边是对象的属性名,它必须是一个标识符,而不能是字符串或表达式。2、构造

23、函数:构造函数是具有两个特性的JavaScript函数: (1)它由new运算符调用。,js对象,(2)传递给它的是一个对新创建的“空对象”的引用,将该引用作为关键字this的值,而且它还要对新创建的对象进行适当的初始化。3、方法:方法其实就是通过对象调用的JavaScript函数。函数就是数值,它们所使用的名字没有任何特殊之外,可以将函数赋给任何变量,甚至赋给一个对象的任何属性,关键字this的值就变成了调用该方法的对象。4、原型对象和继承:我们通过原型对象和继承可以用来声明方法、常量及其他能被类的对象共享的属性。,js对象,JavaScript对象都“继承”原型对象的属性。每个对象都有原型

24、对象,每个对象都继承原型对象的所有属性。一个对象的原型是由创建并初始化该对象的构造函数定义的。JavaScript中的所有函数都有prototype属性,它引用了一个对象。虽然原型对象初始化时是空的,但是你在其中定义的任何属性都会被该构造函数创建的所有对象继承。构造函数定义了对象的类,并初始化了类中状态变量的属性,如width和height。因为原型对象和构造函数关联在一起,所以类的每个成员都从原型对象继承了相同的属性。这说明原型对象是存放方法和其他常量属性的理想场所。,js对象,5、在面向对象的程序设计语言中,共有的概念是“强类型”和“支持以类为基础的继承机制”。虽然JavaScript不是

25、一种以类为基础的面向对象程序设计语言,但是它采取以“原型对象为基础的继承”在模拟像Java和C这样的以类为基础的语言时是相当出色的。利用JavaScript语法,我们完全 可以模拟出面向对象语言(如Java)中的特性:成员变量、成员方法、静态变量、静态方法、继承等等。练习:定义一个Person和Student,模拟定义 成员变量、成员方法、静态变量、静态方法和继承。,js对象,6、作为关联数组的对象:我们已经见到过用运算符“.”来存取一个对象属性,而数组更常用的存取属性运算符是。这样,下面的两行代码是等价的:object.propertyobject“property“7、对象的属性和方法:由

26、于在JavaScript中所有的对象都由类Object继承而来,这些Object类的属性和方法具有一般性,使得它们具有特殊的重要性。,js对象,(1) constructor属性(2) toString()方法(3) toLocaleString()方法(4) valueOf()方法(5) hasOwnProperty()方法(6) propertylsEnumerable()方法(7) isPrototypeOf()方法,Javascript对象,基本对象 全局对象Global 数字对象Number 字符串对象String 数组对象Array 数学对象Math 日期对象Date,Javasc

27、ript对象,对象具有属性、方法和事件三大特征。 属性:决定了对象的特征,如长度、颜色等等。 方法:是对象可以做的事情,通过调用方法达到改变对象状态的目的 事件:能响应发生在对象上的事情,全局对象,全局对象是一个虚拟的对象,通常用Global代表它 JavaScript有一些全局的函数,通常认为是Global对象的,调用这些方法时直接写名字就可以了,无须用对象名限定。 属性 NaN 非数字 var a = “abc“; alert(parseInt(a);,全局对象,方法 isFinite() 如果括号内的数字是“有限”的(介于 Number.MIN_VALUE 和 Number.MAX_VA

28、LUE 之间)返回 true;否则false。 isNaN() 如果括号内的值是“NaN”则返回 true 否则返回 false。 parseInt() 把括号内的内容转换成整数。如果字符串,则字符串开头的数字部分被转换成整数,如果以字母开头,则返回“NaN”。 parseFloat() 转换浮点数,其它同上,Number对象,属性 MAX_VALUE :Number.MAX_VALUE,返回“最大值” MIN_VALUE :Number.MIN_VALUE;返回“最小值” NaN :Number.NaN 或 NaN;返回“NaN” NEGATIVE_INFINITY :Number.NEGA

29、TIVE_INFINITY,返回负无穷大,比“最小值”还小的值。 POSITIVE_INFINITY :Number.POSITIVE_INFINITY;返回正无穷大,比“最大值”还大的值。 方法 toString() 用法:.toString();返回字符串形式。若 a = 123;则 a.toString() = 123。 toLocaleString()用法:.toLocaleString();返回一个日期,该日期使用当前区域设置并已被转换为字符串。valueOf()用法:.valueOf();返回指定对象的原始值。 例子:numberobject.html,String对象,属性 le

30、ngth :返回该字符串的长度。 方法 charAt() 用法:.charAt();返回该字符串位于第位的单个字符。 charCodeAt() 用法:.charCodeAt();返回该字符串位第位字符的 ASCII 码。 indexOf() 用法:.indexOf(, );找到返回位置。没有找到就返回“-1”。 lastIndexOf() 用法:.lastIndexOf(, )。找到返回位置。没有找到就返回“-1”。,String对象,split() 用法:.split();返回一个数组。 substring() 用法:.substring(, );返回原字符串的子字符串。 substr()

31、用法:.substr(, );返回原字符串的子字符串。 toLowerCase() 用法:.toLowerCase();返回把原字符串所有大写字母都变成小写的字符串。 toUpperCase() 用法:.toUpperCase();返回把原字符串所有小写字母都变成大写的字符串。 例子:stringobject.html,Math对象,Math对象提供了与数学计算相关的属性和方法 Math对象的属性和方法调用时的格式都是 Math. 属性 E 返回常数 e (2.718281828.)。 LN2 返回 2 的自然对数 (ln 2)。 LN10 返回 10 的自然对数 (ln 10)。 LOG2E

32、 返回以 2 为低的 e 的对数 (log2e)。 LOG10E 返回以 10 为低的 e 的对数 (log10e)。 PI 返回(3.1415926535.)。 SQRT1_2 返回 1/2 的平方根。 SQRT2 返回 2 的平方根。,Math对象,方法 abs(x) 返回 x 的绝对值。 acos(x) 返回 x 的反余弦值(余弦值等于 x 的角度),用弧度表示。 asin(x) 返回 x 的反正弦值。 atan(x) 返回 x 的反正切值。 atan2(x, y) 返回复平面内点(x, y)对应的复数的幅角,用弧度表示,其值在 - 到 之间。 ceil(x) 返回大于等于 x 的最小整

33、数。 cos(x) 返回 x 的余弦。 exp(x) 返回 e 的 x 次幂 (ex)。,Math对象,floor(x) 返回小于等于 x 的最大整数。 log(x) 返回 x 的自然对数 (ln x)。 max(a, b) 返回 a, b 中较大的数。 min(a, b) 返回 a, b 中较小的数。 pow(n, m) 返回 n 的 m 次幂 (nm)。 random() 返回大于 0 小于 1 的一个随机数Math.random() round(x) 返回 x 四舍五入后的值。 sin(x) 返回 x 的正弦。 sqrt(x) 返回 x 的平方根。 tan(x) 返回 x 的正切。 例子

34、:mathobject.html,Date对象,Date 可以储存任意一个日期,从 0001 年到 9999 年,精确到毫秒数(1/1000 秒)。 在内部,日期对象是一个整数,它是从 1970 年 1 月 1 日零时正开始计算到日期对象所指的日期的毫秒数。如果所指日期比 1970 年早,则它是一个负数。 所有日期时间,如果不指定时区,都采用“UTC”(世界时)时区,它与“GMT”(格林威治时间)在数值上是一样的。,Date对象,定义日期对象:var d1 = new Date;var d2 = new Date();d1和d2的初始值都是当前时间。 如果要自定初始值,可以用:var d1=n

35、ew Date(99, 10, 1); /99 年 10 月 1 日 var d2=new Date(Oct 1, 1999); /同上,Date对象,方法 g/setUTCFullYear() 返回/设置年份 g/setUTCYear() 返回/设置年份 g/setUTCMonth() 返回/设置月份,一月返回0 g/setUTCDate() 返回/设置日期 g/setUTCDay() 返回/设置星期,0 表示星期天 g/setUTCHours() 返回/设置小时数,24小时制 g/setUTCMinutes() 返回/设置分钟数 g/setUTCSeconds() 返回/设置秒钟数 g/s

36、etUTCMilliseconds() 返回/设置毫秒数 g/setTime() 返回/设置时间,该时间就是日期对象的内部处理方法:从 1970 年 1 月 1 日零时正开始计算到日期对象所指的日期的毫秒数。,Date对象,getTimezoneOffset() 返回日期对象采用的时区与格林威治时间所差的分钟数。在格林威治东方的市区,该值为负,例如:中国时区(GMT+0800)返回“-480”。 toString() 返回一个字符串,描述日期对象所指的日期。这个字符串的格式类似于:“Fri Jul 21 15:43:46 UTC+0800 2000”。 toLocaleString() 返回一

37、个字符串,描述日期对象所指的日期,用本地时间表示格式。如:“2000-07-21 15:43:46”。 toGMTString() 返回一个字符串,描述日期对象所指的日期,用 GMT 格式。 toUTCString() 返回一个字符串,描述日期对象所指的日期,用 UTC 格式。 parse() 用法:Date.parse();返回该日期对象的内部表达方式。毫秒数。 例子:dateobject.html,Array对象,JavaScript中的数组对象与Java中的数组对象相同,也是一个对象的集合。 不同在于JavaScript中数组中的对象可以是不同类型的。 数组的每一个成员对象都有一个“下标

38、”,用来表示它在数组中的位置,从零开始。 数组定义方法: var = new Array(); 多维数组定义: var myArray = new Array(new Array(), new Array(), new Array(), .);,Array对象,数组元素访问方法: = .; 数组初始化方法: var = new Array(, , .); 例如,var myArray = new Array(1, 4.5, Hi); var myArray = new Array(new Array(1,2,3), new Array(5,6,7);,Array对象,属性 length 用法:

39、.length。 方法 join() 用法:.join();返回字符串,把数组元素用串起来。 reverse() 用法:.reverse();使数组中的元素顺序反过来。 slice() 用法:.slice(, );返回原数组的子集,始于,终于。 sort() 用法:.sort(); 例子:arrayobject.html和Array.html,数组的方法,数组的方法(1) join()方法(2) reverse()方法(3) sort()方法(4) concat()方法(5) slice()方法(6) splice()方法(7)push()方法(8)pop()方法(9)shift()方法(10

40、)unshift()方法(11)toString()方法,使用正则表达式的模式匹配,正则表达式是一个描述字符模式的对象。JavaScript的RegExp类表示正则表达式,而String和RegExp都定义了使用正则表达式进行强大的模式匹配和文本检索与替换函数。(1)正则表达式的定义:在JavaScript中,正则表达式由RegExp对象表示。当然,可以使用RegExp()构造函数创建RegExp对象。不过通常还是用特殊的直接量语法来创建RegExp对象。正则表达式直接量被定义为包含在一对斜框(/)之间的字符。例如:var pattern = /s$/;,使用正则表达式的模式匹配,正则表达式是

41、一个描述字符模式的对象。JavaScript的RegExp类表示正则表达式,而String和RegExp都定义了使用正则表达式进行强大的模式匹配和文本检索与替换函数。(1)正则表达式的定义:在JavaScript中,正则表达式由RegExp对象表示。当然,可以使用RegExp()构造函数创建RegExp对象。不过通常还是用特殊的直接量语法来创建RegExp对象。正则表达式直接量被定义为包含在一对斜框(/)之间的字符。例如:var pattern = /s$/;,使用正则表达式的模式匹配,(2)直接量字符:,使用正则表达式的模式匹配,(3)正则表达式的字符类,使用正则表达式的模式匹配,(4)重复

42、,使用正则表达式的模式匹配,(5)选择和分组,使用正则表达式的模式匹配,(6)匹配指定位置,使用正则表达式的模式匹配,(7)标志,使用正则表达式的模式匹配,2、用于匹配的String方法,类String支持四种利用正则表达式的方法。(1) search()方法(2) replace()方法(3) match()方法(4) split()方法3、RegExp对象:正则表达式是用RegExp对象来表示的。除了构造函数RegExp()之 外,RegExp对象还支持三种方法和大量的属性。(1) exec()方法(2) test()方法(3) RegExp对象的属性,JavaScript的其它特性,1、

43、数据类型转换,基本规则是,如果某个类型的值用于需要其他类型的值的环境中,JavaScript就自动将这个值转换成所需要的类型。,JavaScript的其它特性,2、使用值和使用引用,在使用值和使用引用时,基本类型和引用类型是有区别的。,JavaScript的其它特性,3、无用存储单元收集: JavaScript中的无用存储单元收集与Java中的垃圾回收机制一样,即,当对象有不在被使用时,系统会自动回收那部分内存。关于这方面的内容,我们在JavaScript中就不作详细说明了。4、词法作用域和嵌套函数: JavaScript的函数是词法上的作用域,而不是动态作用域。这意味着它们运行在自己定义的作

44、用域中,而不是运行在执行它们的作用域中。这方面的内容,我们以最初的几小节中已经提到,大家可以参照一下。,第二部分,客户端JavaScript,DOM简介,DOM是Document Object Model的缩写,即文档对象模型 DOM将HTML页面中的内容抽象成对象,每个对象拥有各自的属性(Properties)、方法(Method)和事件(Events) 。 通过DOM 可以在JavaScript中操纵HTML页面的内容,DOM简介,DOM简介,DOM 节点:HTML 文档中的每个成分都是一个节点。 整个文档是一个文档节点 每个 HTML 标签是一个元素节点 包含在 HTML 元素中的文本是

45、文本节点 每一个 HTML 属性是一个属性节点 注释属于注释节点,DOM 访问节点,通过 DOM,可访问 HTML 文档中的每个节点。 查找并访问节点 通过使用 getElementById() 和 getElementsByTagName() 方法 通过使用一个元素节点的 parentNode、firstChild 以及 lastChild 属性,DOM简介,有些DOM对象在浏览器中只有一个,因此他们的名字是惟一确定的,比如navigator 大部分DOM对象是不确定不惟一的,因此需要在HTML标记中给他们起名,如、等等 DOM对象同基本对象一样,也有属性、方法和事件,尤其是DOM对象对事件

46、的响应是JavaScript中尤为重要的部分,Web浏览器中的JavaScript,1、Web浏览器环境(1)作为全局执行环境的window对象: Web浏览器的主要任务是在一个窗口中显示HTML文档。在客户端JavaScript中,表示HTML文档的是Document对象。Window对象代表显示该文档的窗口(或框架)。虽然对于客户端JavaScript来说,Document对象和Window对象都很重要。但是对比较而言,Window对象是更重要一些。本质上的原因是Window对象是客户端程序设计中的“全局对象”。(2)客户端的对象层次和文档对象模型。,Web浏览器中的JavaScript,

47、Web浏览器中的JavaScript,(3)事件驱动的程序模型:由于Web浏览器是一个图形环境,而且一个HTML文档包含嵌入式GUI。因此,出现了图形显示和像鼠标这样的点击设备。程序通常都是事件驱动的,用户以鼠标点击和键盘敲击方式进行输入,程序则根据鼠标指针位置对这种异步的用户输入进行响应。客户端JS使用的就是这种事件驱动的程序设计模型。2、在HTML中嵌入JavaScript(1)标签,客户端JS脚本是HTML文件的一部分,通常放置在标签和之间。,Web浏览器中的JavaScript,(2)包含JavaScript文件,从JavaScript1.1起,标签就支持src属性,这个属性的值指定了

48、一个JavaScript代码文件的URL。(3)事件处理程序,在包含它的HTML文件被读进浏览器的时候,脚本中的JS代码只执行一次。使用这种静态脚本的程序不能动态地响应用户。很多动态性的程序都定义了事件处理程序,当某个事件发生时,Web浏览器会自动调用相应的事件处理程序。(4)URL中的JavaScript,另一种将JS代码添加到客户端的方法是把它放置在伪协议说明符javascript:后面的URL中。这个特殊的协议类型声明了URL的主体是任意的JS代码,它由JS的解释器运行。,Web浏览器中的JavaScript,3、JavaScript程序的执行,JS程序在浏览器中执行有如下几种情况:(1

49、)脚本(2)函数(3)事件处理程序(4)做为方法的事件处理程序(5)做为属性的事件处理程序(6)动态创建新元素(7)层(8)window对象和变量的生存期,通用HTML元素对象,在IE4+中实现的对象模型规范定义了许多通常称为通用HTML元素对象的脚本对象,这些元素对象共享许多脚本属性、方法和事件处理程序。,通用HTML元素对象,1、语法,要访问元素属性或方法,可使用以下语句: document.all.objected.property | method(parameters) document.getElementById(objectID).property | method(parameters)2、属性(1) accessKey(2) all (3) attributes (4) behaviorUrns ,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报