JavaScript课件第四章

上传人:我*** 文档编号:144947949 上传时间:2020-09-14 格式:PPT 页数:32 大小:89.50KB
返回 下载 相关 举报
JavaScript课件第四章_第1页
第1页 / 共32页
JavaScript课件第四章_第2页
第2页 / 共32页
JavaScript课件第四章_第3页
第3页 / 共32页
JavaScript课件第四章_第4页
第4页 / 共32页
JavaScript课件第四章_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《JavaScript课件第四章》由会员分享,可在线阅读,更多相关《JavaScript课件第四章(32页珍藏版)》请在金锄头文库上搜索。

1、JavaScript语法(高级),隋春雨 Email: Tel:15948338914 QQ:385956900,第四章 JavaScript的面向对象特性,本章结构,字符串的处理方法 JavaScript中的事件处理 事件对象,4.1 JavaScript中的面向对象开发,JavaScript虽然不具有面向对象语言的基本特征,但是仍然有对象的概念,JavaScript中对象的操作包括对象的创建,对象的调用,对象的属性和方法,对象的废除以及对象的绑定,4.2创建对象,在JavaScript中有两种对象,一种是系统内置的对象,另一种是用户自己创建的对象,两种不同的方式有着不同的方法。,4.2.1

2、使用构造函数创建内置对象,在JavaScript中有Math,Date,Array等内置对象,而且每种内置对象都有一个构造函数直接使用构造函数就可以创建并初始化一个对象。JavaScript使用函数来自定义对象。需要创建对象时,使用new关键字。 var obj=new Object();/创建一个没有任何属性的空对象 其中obj是需要创建的对象。New是关键字,Object是要实例化的类名,例如用户定义一个Date对象使用 var day=new Date(); 如果构造函数中没有参数,用户可以将构造函数的括号去掉。直接使用构造函数名来创建对象 例如 var day=new Date; 创建

3、数组对象: var arr1=new Array(); var arr2=new Array(3); var arr3=new Array(1,2,3,4);,4.2.2直接创建自定义对象,在JavaScript中除了很多内置对象之外,还可以由用户自己创建对象,这类对象称为自定义对象,直接创建自定义对象的语法代码如下:var 对象名=属性名1:属性值1,属性名2:属性值2,属性名3:属性值3 实例1 var pen= name:钢笔, color:红色, price:30 document.write(笔的名称为:+pen.name+); document.write(笔的颜色为:+pen.c

4、olor+); document.write(笔的价格为:+pen.price+); ,4.2.3使用自定义构造函数创建对象,虽然直接创建自定义对象很方便也很直观,但是如果要创建多个相同的对象,使用这种方法就显的很繁琐了。在JavaScript中也可以通过调用自定义构造函数创建对象。调用自定义构造函数的方法与调用函数内置的构造函数的方法一样。也是使用new运算符。,使用自定义构造函数创建对象实例() 实例2 /自定义构造函数 function people(_name,_sex,_birthday) this._name=_name; this._sex=_sex; this._birthda

5、y=_birthday; this._eat=function() alert(people eat); /创建一个对象 var sui=new people(隋春雨,男,1987-12-09);,4.3 属性的访问和方法的调用,在对象创建后,用户可以直接使用创建的对象通过“.”运算符对属性进行访问,对方法进行调用。基本格式如下: 对象.属性;对象.方法(参数列表);,4.3.1设置对象属性的方法,在创建对象的同时设置对象的属性。例如: var pen= name:钢笔, color:红色, price:30 在创建对象的构造函数时设置对象的属性。例如实例2在定义open的构造函数时就设置了对

6、象的属性。只要程序员使用new运算符调用构造函数创建对象时,该对象就自动拥有构造函数中的所有属性。 先创建一个空对象,再设置对象属性。,先创建空对象,再设置对象属性的实例 实例3 /创建一个空对象 var pen =new Object(); /设置对象的属性 pen.name=铅笔; pen.color=红色; pen.price=20; ,4.3.2对象属性的特性,由于变量指向的是数据的引用,即使是将其作为参数传递给另外的方法,如果在另外的方法中改变了变量的值。原来变量的值也会随之改变。 意思就是说 如果把某个对象的名当做参数传递给了某个方法那么对象里面原来的值也会发生改变 下面有个例子,

7、/自定义构造函数 function people(_name,_sex,_birthday) this._name=_name; this._sex=_sex; this._birthday=_birthday; this._eat=function() alert(people eat); ,function changeValue(peo) var temp=peo; /改变传递过来的参数的属性值 temp._name=suichunyu; function test() /对象的创建 var sui=new people(隋春雨,男,1987-12-09); /属性的访问 alert(s

8、ui._name); /方法的调用 sui._eat(); /调用changeValue方法在changeValue方法中改变对象的属性值 changeValue(sui); /对象的值也发生改变 alert(sui._name); ,4.4异常处理,编程中一项重要的工作是错误的处理,实际中碰到的错误可以分为两种情况:一种是由于语法或程序逻辑错误造成的错误,另一种是运行环 境错误或用户输入信息造成的程序错误。前者可以称其为错误(error),后者就是所谓的异常(exception)。错误是可以通过调试来解决的。而异常一般是在运行时才产生的,而且无法通过调试来解决。对于异常的处理,JavaScr

9、ipt有一套较为完善的机制,包括异常的error对象,两种异常处理方式-try-catch-finally语句和throw语句。,4.4.1 error对象,在JavaScript中,异常是以error对象的形式出现的。Error对象有两个属性。即name和message。前者表示异常的类型,后者代表异常的含义。Name一共有6种 EvalError:错误调用eval()函数。 RangeError:数值超出表示范围异常。 ReferenceError:非法或无效的引用异常。 SyntaxError:语法解析异常。 TypeError:操作数类型异常。 URLError:URL处理函数使用不当

10、造成的异常 根据name属性的不同值,可以对错误类型进行判断,从而提高异常提示信息的准确度。,4.4.2 try-catch-finally语句,try-catch-finally语句用来捕获异常的发生,并对异常进行相应的处理,其语法格式如下: try /JavaScript代码块 catch(error) /try语句块中的语句发生异常,执行的异常处理 finally /无论是否发生异常,都会执行的语句 ,Try-catch-finally语句的解释 其中try语句块是最先执行的,try语句块是可能会有异常发生的JavaScript程序。Catch语句的error参数是传递的异常信息;cat

11、ch语句块则是对异常进行的相关处理。如果有异常发生,catch语句才会执行,如果没有异常发生,catch语句则不会被执行。Finally语句是可选的,一旦加上finally语句,无论是否有异常发生,finally语句都会执行。,Try-catch-finally语句的执行流程,4.4.3 throw语句,在JavaScript中,用户可以根据需要,在必要是抛出异常。throw语句的语法格式比较简单,其使用方法如下: throw exception 其中,exception可以是任何类型。当程序运行至throw语句时,执行与发生异常类似的处理方式,从try语句块跳入catch语句块。 throw

12、的对象还可以是用户自定义的error对象。使用error对象可以方便地使用error对象本身的name与message属性。创建error对象的方法如下: var errorobj=new Error(”msg”); 其中,errorobj是需要创建的error对象名;msg参数是必须的,代表error对象的错误描述信息。,自定义error实例,function numExObj(msg) var exObj=new Error(msg); exObj.name=非数字异常; return exObj; ,function addInfo(p1,p2) var sum=0; try if(is

13、NaN(p1)|(isNaN(p2) throw 参数必须是数字; sum=p1+p2; catch(ex) var exObj=new numExObj(ex); alert(错误类型:+exObj.name); alert(错误描述:+exObj.message); finally document.write(计算结果+sum); ,4.5常用内置函数,JavaScript为用户提供了常用的内置函数及对象,包括用于数学计算的math对象,用于操作日期的Date对象,用于对字符串进行编码与解码的escape和unescape函数用于动态执行代码的eval函数以及判断表达式是不是数值的isN

14、aN函数。,4.5.1 Math数学对象,JavaScript的Math数学对象可以执行一些普通的数学运算Math对象提供值为数学常数的属性及数学运算的函数,使用可以直接用“Math.”调用,用户不需要在使用前对数学对象进行定义。 Math对象的常用内部函数,Math对象的常用内部函数,4.5.2Date日期对象,JavaScript中的Date对象用来对日期和时间进行操作。使用Date对象前需要定义一个Date对象,然后调用Date对象的构造函数得到相应的日期对象。Date对象的内部是以世界标准时间格林威治时间的1970年1月1日0时开始计算的。使用Date操作日期对象获取的时间是客户端的日

15、期与时间。获得Date对象的方法如下: var dateTime=new Date(); var dateTime=new Date(“Month dd,yyyy hh:mm:ss”); var dateTime=new Date(“Month dd,yyyy”); var dateTime=new Date(yyyy,mth,dd,hh,mm,ss); var dateTime=new Date(yyyy,mth,dd); var dateTime=new Date(millisecounds);,Date对象的常用方法,Date对象的常用方法,4.5.3编码函数escape和unescap

16、e,当用户从一个页面转向另一个页面,同时需要传递信息,而此时请求的方法使用的是get,传递信息中存在非文本数字字符,此时需要用户对url进行编码。JavaScript中的escape函数可以完成url编码功能。当接收信息时,使用unescape函数对编码之后的URL进行解码。使用方法如下 var str=“JavaScript 字符串”; doucument.write(“编码前的字符串”+str); str=escape(str); doucument.write(“编码之后的字符串”+str); doucument.write(“解码之后的字符串”+unescape(str);,4.5.4 动态执行代码eval,eval函数的作用是把一个字符串当做JavaScript语句来执行。语法格式为 eval(exp)。其中,参数exp是一个

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号