第6章_对象编程.ppt_第1页
第6章_对象编程.ppt_第2页
第6章_对象编程.ppt_第3页
第6章_对象编程.ppt_第4页
第6章_对象编程.ppt_第5页
已阅读5页,还剩92页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第6章 对象编程,【学习目标】,JavaScript是一种基于对象(Object)的语言,它支持三种对象:内置对象、用户自定义对象以及浏览器对象。本章主要介绍常用的内置对象,通过本章的学习,读者可以达到以下学习目的: 了解什么是对象,对象的创建、删除及使用 掌握日期对象 掌握数学对象 掌握字符串对象 掌握Number对象 掌握Array对象,【学习导航】,本章首先结合简单的举例让读者了解什么是对象,对象的创建、删除及使用,接下来重点介绍日期对象、数学对象、字符串对象、Number对象和Array对象。本章在书中的学习位置如图6.1所示。,【知识框架】,本章学习内容知识框架如图6.2所示。,本章

2、目录,6.1 什么是对象 6.2 对象概述 6.3 在JavaScript中使用对象 6.4 日期对象(Date对象) 6.5 数学对象(Math对象) 6.6 字符串对象(String对象) 6.7 Number对象 6.8 Array对象,6.1 对象概述,什么是对象 创建和删除对象 对象的属性和方法,什么是对象,对象的概念首先来自于客观世界的认识,对象用于描述客观世界存在的特定实体。例如,“人”就是一个典型的对象,“人”包括身高、体重、年龄等特性,同时又包含吃饭、睡觉、行走等一些动作。 在计算机世界中,不仅存在来自于客观世界的对象,也包含为解决问题而引入的抽象对象。例如,一个用户可被看作

3、一个对象,它包含用户名、用户密码等特性,也包含注册、注销等动作。一个Web页可以被看作一个对象,它包含背景色、段落文本、标题等特性,同时又包含打开、关闭和写入等动作。 综上所述,对象就是一组包含数据的属性和对属性中包含数据进行操作的方法的实体。 例6.1 在网页是输出字符串,所针对的对象就是document,所用的属性是write,代码如下。 Document.write(我喜欢学JavaScript); 上述代码将在网页上输出字符串“我喜欢学JavaScript”。,6.2 在JavaScript中使用对象,在JavaScript中,可以使用三种对象,即内置对象、自定义对象和浏览器对象。内置

4、对象和浏览器对象统称为预定义对象。 JavaScript将一些常用功能预先定义成对象,用户可以直接使用,这种对象就是内置对象。这些内置对象可以帮助用户在设计自己的脚本时实现一些最常最基本的功能。这些对象是Date、Math、String、Array、Number、Boolean、Function、Global、Object、RegExp和Even对象。 浏览器对象(DOM)对象是浏览器根据系统当前的配置和所装载的页面为JavaScript提供的一些可供使用的对象。 浏览器对象 HTML 元素 自定义对象就是指自己根据需要而定义的新对象。,对象的属性和方法,一个对象应包含两个要素,即属性和方法。

5、属性是用来描述对象特性的一组数据,即若干变量;方法是用来操作对象的若干动作,也就是若干函数。 在JavaScript中,对象就是属性和方法的集合。方法是作为对象成员的函数,表明对象所具有的行为,而属性是作为对象成员的变量,表明对象状态。 通过访问或设置对象的属性,并且调用对象的方法,就可以对对象进行各种操作,从而获得需要的功能。下面分别介绍对象的属性和方法。,对象的属性: 使用下述几种方法可以得到对象的属性值。 (1)通过圆点(.)运算符。语法: 对象名.属性名 (2)通过属性名。语法: 对象名属性名 (3)通过循环语句。语法: for(var 变量 in 对象变量) 对象变量变量 (4)通过

6、With语句。语法: with(对象变量) 直接使用对象属性名、方法名 对象的方法: 使用With语句或通过圆点(.)运算符就可以得到对象的方法。 对象变量.对象方法名(),对象属性的访问,对象属性引用有3种方式。例如,一个叫做Person的对象实例,它包含了sex、name、age三个属性。 句点(.)运算符 Person.sex=male; P=“小强”; Person.age=20; 对象的数组下标:对象下标 Person0=male; Person1=“小强”; Person2=20; 通过字符串的形式实现 Person“sex”=“male”; Person“na

7、me”=“小强”; Person“age”=20;,对象方法的访问,对象名.方法() 如document.write(Person.howold();,创建和删除对象,使用对象前,首先要学会创建对象。在JavaScript中,除了Math等个别对象,其他对象都使用new运算符来创建,该运算符是一个常用且十分重要的运算符。删除一个对象可以使用对象运算符delete,但在JavaScript中很少使用它。 使用new运算符创建对象变量的格式如下: 变量名=new 对象名(); 例6.2 在页面中显示当前时间,效果如图6.3所示。 程序代码如下: 无标题文档 var mydate; mydate=n

8、ew Date(); document.write(现在是:+mydate.getHours()+时+mydate.getMinutes()+分+mydate.getSeconds()+秒); 上述代码中,使用JavaScript运算符new创建一个Date对象,然后将这个对象赋值给变量mydate,最后使用该对象的属性来获取当前系统时间。,new语句,new操作符用于新建对象。格式如下: 对象实例名=new 对象名(参数表) 注意:this用来指定当前对象的实例 例, function employee(name, code, designation) = name th

9、is.code = code this.designation = designation newemp = new employee(John Dias, A001, 职员); document.write(雇员姓名: + + ); document.write(雇员代号: + newemp.code + ); document.write(头衔: + newemp.designation); ,delete 语句,delete操作符可以删除一个对象的实例。 格式如下: delete 对象名;,常用语言对象,JavaScript为我们提供了一些非常有用的常用内置对象和

10、方法。 Javascript中的内置对象按使用方式分为动态对象和静态对象。 动态对象:须用new操作符创建对象实例,使用“对象实例名.方法或属性”。Date、String 静态对象:不需要new操作符创建对象实例,使用“对象名.方法或属性”。Math,JavaScript中常用对象,JavaScript中提供了字符串(string)、数值计算(Math)、日期(Date)、数组(Array)对象;还有表示HTML文件的document对象、网址信息管理的navigator对象、网页漫游管理的history对象;网页位置管理的location对象、链接管理的links对象、表单管理的forms和

11、elements对象、窗口管理的frame对象和window对象。,6.3 日期对象(Date对象),创建Date对象 Date对象的主要属性和方法,在Web开发过程中,可以使用JavaScript的Date对象(日期对象)来实现对日期和时间的控制。如果想在网页中显示计时时钟,就得重复生成新的Date对象来获取当前计算机的时间。用户可以使用Date对象执行各种使用日期和时间的过程。,Date对象,Date是内置对象,包含日期和时间信息。 静动性:动态性,即必须使用New运算符创建一个实例。 Date对象没有提供直接访问的属性。只有获取(get)和设置(set)日期和时间的方法。 日期起始值:1

12、970年1月1日00:00:00,创建Date对象,日期对象是对一个对象数据类型求值,该对象主要负责处理与日期和时间有关的数据信息。在使用Date对象前,首先要创建该对象,其创建格式如下: dateObj = new Date() dateObj = new Date(dateVal) dateObj = new Date(year, month, date, hours, minutes, seconds,ms) Date对象语法中各参数的说明如表6.1所示。,创建Date对象,下面以示例的形式来介绍如何创建日期对象。 例如,返回当前的日期和时间。 var newDate=new Date(

13、); document.write(newDate); 运行结果:Tue Feb 3 08:49:30 UTC+0800 2009。 例如,用年、月、日(2009-2-3)来创建日期对象。代码如下: var newDate=new Date(2009,2,3); document.write(newDate); 运行结果:Tue Mar 3 00:00:00 UTC+0800 2009。 例如,用年、月、日、小时、分钟、秒(2009-2-3 8:59:50)来创建日期对象。代码如下: var newDate=new Date(2009,2,3,8,59,50); document.write(

14、newDate); 运行结果:Tue Mar 3 08:59:50 UTC+0800 2009。 例如,以字符串形式创建日期对象(2009-2-3 9:01:40)。代码如下: var newDate=new Date(Feb 3,2009 9:01:40); document.write(newDate); 运行结果: Tue Feb 3 09:01:40 UTC+0800 2009。,Data用法,用法: DateObject = new Date (parameters) (1)var 对象名=new Date(); (2)var 对象名=new Date(年,月,日); (3)var

15、对象名=new Date(年,月,日,时,分,秒,毫秒); (4)var 对象名=new Date(字符串); var d1=new Date(); d2=new Date(2003,6,30); d3=new Date(2003,6,30,8,0,0); d4=new Date(June 20,2003 08:00:00);,Date对象的主要属性和方法,1Date对象的主要属性 Date对象的属性有constructor和prototype,下面介绍这两个属性的用法。 (1)constructor属性 例如,判断当前对象是否为日期对象。代码如下: var newDate=new Date(

16、); if (newDate.constructor=Date) document.write(日期型对象); 运行结果:日期型对象。 (2)prototype属性 例如,用自定义属性来记录当前日期是本周的周几。代码如下: var newDate=new Date();/当前日期为2009-2-3 Dtotype.mark=null;/向对象中添加属性 newDate.mard=newDate.getDay();/从Date对象返回一周中的某一天(06) alert(newDate.mard); 运行结果:2。,Date对象的主要属性和方法,2Date对象的主要方法 Date对象

17、是JavaScript的一种内部数据类型。该对象没有可以直接读写的属性,所有对日期和时间的操作都是通过方法完成的。Date对象的主要方法如表6.2所示。,Date对象的主要属性和方法,续表,Date对象的主要属性和方法,续表,Date对象的主要属性和方法,例6.3 下面应用getFullYear()、getYear()、getMonth()、getDate()、getHours()、getMinutes()、getSeconds()和setMilliseconds()方法将获取当前系统日期和时间,然后按指定的格式显示出来,程序代码如下。 Date对象的应用 ); document.write(

18、当前时间为:+hours+时+minutes+分+seconds+秒+milliseconds+毫秒); /- 在浏览器中预览,效果如图6.4所示。,Date对象的方法,获取日期的时间方法 getYear(): 返回年份 getMonth():返回当月号数 getDate(): 返回当日号数 getDay():返回星期几 getHours():返回小时数 getMinutes():返回分钟数 getSeconds():返回秒数 getTime():返回完整的时间,Date对象的方法,设置日期和时间的方法 setYear();设置年份 setDate():设置当日号数 setMonth():设置

19、月份数 setHours():设置小时数 setMinutes():设置分钟数 setSeconds():设置秒数 setTime ():设置完整的时间,Date对象的方法,格式转换的方法 toGSMString():转换成格林威治标准时间表达的字符串; toLocaleString():转换成以当地时间表达的字符串; toString():把时间信信息转换为字符串; parse:从表示时间的字符串中读出时间; UTC:返回从格林威治标准时间到指定时间的差距(单位为毫秒)。,Date对象,Date对象示例1, ,改为今天的月份是?,Date对象示例2, 2007年的圣诞节是星期 + dayna

20、methedate.getDay(); thedate.setYear(2008); document.write(2008年的圣诞节是星期 + daynamethedate.getDay(); /- ,Date对象示例3,var x01=new Date(); x02=x01.getYear(); document.write(x01.getYear()= +x02+年) document.write(x01.getMonth()= +(x01.getMonth()+1)+月) document.write(x01.getDate()= +x01.getDate()+日) document.

21、write(x01.getDay()= +星期+x01.getDay()+) document.write(x01.getHours()= +x01.getHours()+时) document.write(x01.getMinutes()= +x01.getMinutes()+分) document.write(x01.getSeconds()= +x01.getSeconds()+秒) document.write(x01.getTime()= +x01.getTime()+千分秒),思考题,在网页中显示“2008年10月3日 星期五”的日期格式。 在网页中动态显示当前时间。 docume

22、nt.all.digit_clock.innerHTML= hours+“:”+minutes+“:”+seconds+“ ”+mark;() digit_clock.value = hours+:+minutes+:+seconds+ +mark;() setTimeout(“display()”,100);/设置定时器 显示2188年的国庆节是星期几?,简单的报时器(Data), 报时器 单击报时按钮可获得当前时间 , 日期星期的显示 ) if(navigator.appName = Netscape) document.write(1900+year); document.write(年

23、); document.write(month); document.write(月); document.write(date); document.write(日); document.write(),if(navigator.appVersion.indexOf(MSIE) != -1) document.write(year); document.write(年); document.write(month); document.write(月); document.write(date); document.write(日); document.write() if (todayDa

24、te.getDay() = 5) document.write(星期五) if (todayDate.getDay() = 6) document.write(星期六) if (todayDate.getDay() = 0) document.write(星期日) if (todayDate.getDay() = 1) document.write(星期一) if (todayDate.getDay() = 2) document.write(星期二) if (todayDate.getDay() = 3) document.write(星期三) if (todayDate.getDay()

25、= 4) document.write(星期四) ,思考题1,启动数字钟 启动数字钟统计页面持续时间 +TimeString3 setTimeout (Eclock(),1000) -, 单击此处启动数字钟并统计网页持续时间 ,思考题2,6.4 数学对象(Math对象),在JavaScript中,Math对象提供算数运算符所需要的多种算数值类型和函数。该对象的所有属性和方法都是静态的,使用该对象时,不需要对其进行创建。 1Math对象的属性 Math对象的属性如表6.3所示。,6.4 数学对象(Math对象),2Math对象的方法 Math对象的方法如表6.4所示。,Math对象,Math 对

26、象拥有可用于表示复杂数学运算的属性和方法(加、减、乘、除之外的),静态对象 数学对象的调用方式为: Math.数学函数名(参数表) 属性 E 欧拉常量,自然对数的底(约等于2.7182) LN2,2的自然对数(约等于0.69315) LN10,10的自然对数(约等于2.302) LOG2E, 以2为底的e的对数(约等于1.442) LOG10E, 以10为底的e的对数(约等于o.434) PI ,的值(约等于3.14159) SQRT1_2, 0.5的平方根(即l除以2的平方根,约等于o.707) SQRT2, 2的平方根(约等于1.414),Math方法,方法 abs(a) 返回a的绝对值

27、acos(a) 返回a的反余弦值(以弧度为单位) asin(a) 返回a的反正弦值(以弧度为单位) atan(a) 返回a的反正切值(以弧度为单位) cos(a) 返回a(以弧度为单位)的余弦值 exp(a) 返回a的指数 ceil(a) 返回与a相等,或大于a的最小整数 floor(a)返回与a相等,或小于a的最大整数 log(a) 返回a的自然对数(以e为底) max(a,b) 返回两数间的较大值 min(a,b) 返回两数问的较小值 Pow(m,n) 返回m的n次方(其中,m为底,n为指数),Math方法,random() 返回0和1之间的一个伪随机数(该方法仅在NetscapeNavi

28、gator的UNIX版本中有效) round(a) 返回某数四舍五入之后的整数 sin(a) 返回某数(以弧度为单位)的正弦值 sqrt(a) 返回某数的平方根 tan(a) 返回某数的正切值,Math对象示例1, function doCalc(x) var a; a = Math.PI * x * x; alert (半径为 + x + + 的圆的面积为 + + a); 输入圆的半径: ,Math对象示例2, /产生16的随机数 var rand1=Math.floor(Math.random()*6)+1; var rand2=Math.ceil(Math.random()*6); do

29、cument.write(rand1:+rand1+,rand2:+rand2); ,Math对象示例,模拟抽奖 每10毫秒产生6个各不相同的随机数 赋值给数组 3秒后停止,6.5 字符串对象(String对象),创建String对象 String对象的属性和方法,String对象是动态对象,需要创建对象实例后才能引用该对象的属性和方法,该对象主要用于处理或格式化文本字符串以及确定和定位字符串中的子字符串。,创建String对象,String对象用于操纵和处理文本串,可以通过该对象在程序中获取字符串长度、提取子字符串,以及将字符串转换为大写或小写字符。 var newstr=new Strin

30、g(StringText) newstr:创建的String对象名。 StringText:可选项。字符串文本。 例如,创建一个String对象。 var newstr=new String(“欢迎使用JavaScript脚本”) 事实上任何一个字符串常量(用单引号或双引号括起来的字符串)都是一个String对象,可以将其直接作为对象来使用,只要在字符变量的后面加“.”,便可以直接调用String对象的属性和方法。字符串与String对象的不同在于返回的typeof值,前者返回的是stirng类型,后者返回的是object类型。,String对象的属性和方法,1String对象的属性 在Str

31、ing对象中有3个属性,分别是length、constructor和prototype。下面对这几个属性进行详细介绍。 (1)length属性 该属性用于获得当前字符串的长度。 stringObject.length stringObject:当前获取长度的String对象名,也可以是字符变量名。 例6.4 获取已创建的字符串对象“study”的长度。代码如下: var p=0; var newString=new String(study);/实例化一个字符串对象 var p=newString.length;/获取字符串对象的长度 alert(p.toString(16);/用提示框显示长

32、度值 运行结果:5。 例6.5 获取自定义的字符变量“study”的长度。代码如下: var p=0; var newStr=study;/定义一个字符串变量 var p=newStr.length;/获取字符变量的长度 alert(p.toString(16);/用提示框显示字符串变量的长度值 运行结果:5。,String对象的属性和方法,(2)constructor属性 该属性用于对当前对象的函数的引用。 Object.constructor Object:String对象名或字符变量名。 例6.6 使用constructor属性判断当前对象或自定义变量的类型。代码如下: var newN

33、ame=new String(javascript);/实例化一个字符串对象 if (newName.constructor=String)/判断当前对象是否为字符型 alert(this is String);/如果是,显示提示框 运行结果:this is String。 例6.7 应用constructor属性获取当前对象fred所引用的函数代码。 function chronicle(name,year)/自定义函数 =name;/给当前函数的name属性传值 this.year=year;/给当前函数的year属性传值 var fred=new chronicle(Y

34、ear,2009);/实例化chronicle函数的对象 alert(fred.constructor);/显示对象中的函数代码 运行结果: function chronicle(name,year)/自定义函数 =name;/给当前函数的name属性传值 this.year=year;/给当前函数的year属性传值 ,String对象的属性和方法,(3)prototype属性 该属性可以为对象添加属性和方法。 =value object:对象名或字符变量名。 name:要添加的属性名。 value:添加属性的值。 例6.8 为inf

35、ormation对象添加一个自定义属性salary,并给该属性赋值(1700)。代码如下: function personnel(name,age)/自定义函数 =name; /给当前函数的name属性传值 this.age=age;/给当前函数的age属性传值 var information=new personnel(张博雯,28);/实例化personnel函数对象 totype.salary=null;/向对象中添加属性 information.salary=2300; /向添加的属性中赋值 alert(information.salary)

36、; /在提示框中显示添加的属性值 运行结果:2300。,String对象的属性和方法,2String对象的方法 String对象的方法如表6.5所示。,String对象的属性和方法,续表,String对象的属性和方法,续表,字符串对象的定义,String对象:内部静态性 字符串对象用于操纵和处理文本字符串。 该对象只有一个属性,即length 获得字符串的长度 访问properties和methods时,可使用(.)运算符实现 用法 stringNpertyNamestringName.methodName,字符串对象的属性和方法,属性(1个) length 方法(19个) 锚点

37、anchor():该方法创建如用Html文档中一样的anchor标记。使用anchor如用Html中(A Name=“”)一样。通过下列格式访问string.anchor(anchorName); link():用于创建一个超链接。,字符串对象的方法,方法(19个) 有关字符显示的控制方法:big()大字体, italics()斜体字,bold()粗体字,blink()字符闪烁,small()小体字,fixed()固定高亮字、fontsize(size)控制字体大小等。 字体颜色方法;fontcolor(color) 字符串大小写转换:toLowerCase()小写转换,toUpperCase

38、()大写转换。 字符搜索:indexOfcharactor,fromIndex。从指定位置开始搜索charactor第一次出现的位置。 返回字串的一部分字串:substring(start,end)。从start开始到end的字符全部返回。,字符串对象示例1, var bstr = new String(大号); var sstr = 小号; var blstr = 粗体; var blkstr = 闪烁; var ucase = abc; var lcase = ABC; document.write (这是+ bstr.big() + 文本); document.write (这是+ ss

39、tr.small() +文本); document.write (这是+ blstr.bold() + 文本); document.write (这是+ blkstr.blink() + 文本); document.write (这是+ ucase.toUpperCase() + 文本); document.write (这是+ lcase.toLowerCase() + 文本); ,字符串对象示例2, var str = new String(中国人民); document.write(anchor:+str.anchor(a)+); document.write(charAt:+str.c

40、harAt(2)+); document.write(charCodeAt:+str.charCodeAt(2)+); document.write(fontcolor:+str.fontcolor(red)+); document.write(indexOf:+str.indexOf(国)+); document.write(indexOf:+str.lastIndexOf(国)+); ,字符串对象示例3,客户端验证Email的格式: 界面设计 定义函数 调用函数, function vatemail() var email=document.form1.email.value if (em

41、ail.length5 var numObj2=new Number(0); var numObj3=new Number(-1); document.write(numObj1+); document.write(numObj2+); document.write(numObj3+); 运行结果: 0 0 -1,Number对象的属性,Number对象的属性如表6.6所示。,Number对象的属性是该对象本身,并不是Number对象的实例,在使用其属性时,必须用Number对象直接引用。正确代码如下: var maxvalue=Number.MIN_VALUE; 下面是使用Number对象属

42、性的错误用法。代码如下: var numObj=new Number(); var maxvalue= numObj.MIN_VALUE;,Number对象的方法,Number对象的方法如表6.7所示。,Number对象的最大值或最小可能值,Number对象的可能的最大值或最小值可以通过MAX_VALUE和MIN_VALUE属性来获取。 (1)MAX_VALUE属性 该属性用于返回Number对象的最大可能值。 value=Number.MAX_VALUE value:存储Number对象的最大可能值的变量。 例6.10 获取Number对象的最大可能值。代码如下: var maxvalue=

43、Number.MAX_VALUE; document.write(maxvalue); 运行结果:1.7976931348623157e+308。 (2)MIN_VALUE属性 该属性用于返回Number对象的最小可能值。 value=Number.MIN_VALUE value:存储Number对象的最小可能值的变量。 例6.11 获取Number对象的最小可能值。代码如下: var maxvalue=Number.MIN_VALUE; document.write(maxvalue); 运行结果:5e-324。,Number对象的正负无穷大的值,Number对象的正负无穷大值可以通过NEG

44、TIVE_INFINITY和POSITIVE_INFINITY属性来获取。 (1)NEGTIVE_INFINITY属性 该属性用于返回Number对象的负无穷大的值。 value=Number.NEGTIVE_INFINITY value:存储Number对象负无穷大的值。 例6.12 获取Number对象的负无穷大的值。代码如下: var negative=Number.NEGATIVE_INFINITY; document.write(negative); 运行结果:-Infinity。 (2)POSITIVE_INFINITY属性 该属性用于返回Number对象的正无穷大的值。 valu

45、e=Number.POSITIVE_INFINITY value:存储Number对象正无穷大的值。 例6.13 获取Number对象的正无穷大的值。代码如下: var positive=Number.POSITIVE_INFINITY; document.write(positive); 运行结果:Infinity。,将数字以不同的格式转换成字符串,将数字转换成字符串可以通过toString()、toLocaleString()、toFixed()、toExponential()和toPrecision()方法实现。 (1)toString()方法 该方法可以把Number对象转换成一个字符

46、串,并返回结果。 NumberObject.toString(radix) Radix:可选项。规定表示数字的基数,使用236之间的整数。若省略该参数,则使用基数为 10。但要注意,如果该参数是 10 以外的其他值,则ECMAScript标准允许实现返回任意值。 返回值:数字的字符串表示。 例6.14 将数字转换成字符串。代码如下: var num=new Number(10); document.write(num.toString()+);/将数字以十进制形式转换成字符串 document.write(num.toString(10)+);/将数字以十进制形式转换成字符串 document

47、.write(num.toString(2)+);/将数字以二进制形式转换成字符串 document.write(num.toString(8)+);/将数字以八进制形式转换成字符串 document.write(num.toString(16);/将数字以十六进制形式转换成字符串 运行结果: 10 10 1010 12 a,将数字以不同的格式转换成字符串,(2)toLocaleString()方法 该方法可以把Number对象转换为本地格式的字符串。 NumberObject.toLocaleString() 返回值:数字的字符串表示,根据本地的规范进行格式化,可能影响到小数点或千分位分隔符

48、采用的标点符号。 例6.15 将数字转换成字符串。代码如下: var num=new Number(10); document.write(num.toLocaleString()+); 运行结果:10.00。 (3)toFixed()方法 该方法将Number对象四舍五入为指定小数位数的数字,然后转换成字符串。 NumberObject.toFixed(num) Num:必需。规定小数的位数,是020之间的值(包括0和20),有些实现可以支持更大的数值范围。如果省略该参数,用 0 代替。 返回值:数字的字符串表示,不采用指数计数法,小数点后有固定的num位数字。如果num参数为空,默认值为0

49、。如果num大于le+21,则该方法只调用NumberObject.toString(),返回采用指数计数法表示的字符串。,将数字以不同的格式转换成字符串,例6.16 将数字的小数部份以指定位数进行四舍五入后转换成字符串。代码如下: var num=new Number(10.25416); document.write(num.toFixed()+); document.write(num.toFixed(0)+); document.write(num.toFixed(1)+); document.write(num.toFixed(3)+); document.write(num.toF

50、ixed(7)+); 运行结果: 10 10 10.3 10.254 10.2541600,将数字以不同的格式转换成字符串,(4)toExponential()方法 该方法利用指数计数法计算Number对象的值,然后将其转换成字符串。 NumberObject.toExponential(num) Num:必选项。规定指数计数法中的小数位数,是020之间的值(包括0和20),有些实现可以支持更大的数值范围。如果省略该参数,将使用尽可能多的数字。 返回值:数字的字符串表示,采用指数计数法,即小数点之前有一位数字,小数点之后有num位数字,该数字的小数部分将被舍入,必要时用0补足,以便它达到指定的

51、长度。 例6.17 将数字以指数计数法计算后转换成字符串。代码如下: var num=new Number(2000000.45); document.write(num.toExponential()+); document.write(num.toExponential(0)+); document.write(num.toExponential(1)+); document.write(num.toExponential(3)+); document.write(num.toExponential(7)+); 运行结果: 2.00000045e+6 2e+6 2.0e+6 2.000e+

52、6 2.0000005e+6,将数字以不同的格式转换成字符串,(5)toPrecision()方法 该方法将Number对象转换成字符串,并根据不同的情况选择定点计数法或指数计数法。 NumberObject.toPrecision (num) Num:必选项。规定指数计数法中的小数位数,是020之间的值(包括0和20),有些实现可以支持更大的数值范围。如果省略该参数,将使用尽可能多的数字。 返回值:数字的字符串表示,包含num个有效数字。如果num足够大,能够包括整数部分的所有数字,那么返回的字符串将采用定点计数法。否则,采用指数计数法,即小数点前有一位数字,小数点后有num-1位数字。必要

53、时,该数字会被舍入或用0补足。 例6.18 根据不同的情况,使用定点计数法或指数计数法将数字转换成字符串。代码如下: var num = new Number(10000); document.write (num.toPrecision(4)+);/返回的字符串采用定点计数法 document.write (num.toPrecision(10);/返回的字符串采用指数计数法 运行结果: 000e+4 10000.00000,6.7 Array对象,什么是数组 创建和访问数组 Array对象的输入输出 Array对象的常用属性和方法 二维数组,什么是数组,可以把数组看作一个单行表格,该表格的

54、每一个单元格中都可以存储一个数据,而且各单元格中存储的数据类型可以不同,这些单元格被称为数组元素。每个数组元素都有一个索引号,通过索引号可以方便地引用数组元素。数组是JavaScript中唯一用来存储和操作有序数据集的数据结构。,数组,数组是有限的一组数据项。可以存储具有相同或不同数据类型的一组值,使用下标(索引)来区分各个值。 在JavaScript中,数组的下标以零开始。 JavaScript没有明确的数组数据类型,但却有内置的数组对象。要在程序中使用数组,必须使用数组对象Array及其相关联的方法。,创建和访问数组,可以用静态的Array对象创建一个数组对象,以记录不同类型的数据。 ar

55、rayObj = new Array() arrayObj = new Array(size) arrayObj = new Array(element0, element1, ., elementN) arrayObj:必选项。要赋值为Array对象的变量名。 size:可选项。设置数组的大小。由于数组的下标是从零开始,创建元素的下标将从0到size-1。 elementN:可选项。存入数组中的元素。使用该语法时必须有一个以上元素。 例6.19 创建一个可存入3个元素的Array对象,并向该对象中存入数据。代码如下: arrayObj = new Array(3) arrayObj0= a;

56、 arrayObj1= b; arrayObj2= c; 创建Array对象的同时,向该对象中存入数组元素。代码如下: arrayObj = new Array(1,2,3,a,b),创建数组,语法: arrayObjectName = new Array(element0, element1, ., elementN) 初始化 1.将指定的值作为其元素 2.使用arrayName = new Array(N) 3.简略的语法声明数组赋值 Scores=12,34,”hi”,true,对象名,元素值列表,数组赋值,在创建数组时将元素的值直接赋给数组。 对数组的元素赋值。, ,访问数组元素,指定

57、元素的索引号,empi emp0,Array对象的输入输出,1Array对象的输入 向Array对象中输入数组元素有3种方法。 (1)在定义Array对象时直接输入数据元素。 这种方法只能在数组元素确定的情况下才可以使用。 例如,在创建Array对象的同时存入字符串数组。代码如下: arrayObj = new Array(a,b,c,d) (2)利用Array对象的元素下标向其输入数据元素。 该方法可以随意的向Array对象中的各元素赋值,或是修改数组中的任意元素值。 例6.20 在创建一个长度为7的Array对象后,向下标为3和4的元素赋值。 arrayObj = new Array(7)

58、 arrayObj3 = a; arrayObj4 = b; (3)利用for语句向Array对象中输入数据元素。 该方法主要用于批量向Array对象中输入数组元素,一般用于向Array对象中赋初值。 例6.21 使用者可以通过改变变量n的值(必须是数值型),给数组对象arrayObj赋指定个数的数值元素。代码如下: Var n=7 arrayObj = new Array() for (var i=0;in;i+) arrayObji=i 例6.22 给指定元素个数的Array对象赋值。代码如下: arrayObj = new Array(7) for (var i=0;iarrayObj.

59、length;i+) arrayObji=i ,Array对象的输入输出,2Array对象的输出 将Array对象中的元素值进行输出有3种方法。 (1)用下标获取指定元素值。 该方法通过Array对象的下标,获取指定的元素值。 例6.23 获取Array对象中的第3个元素的值。代码如下: arrayObj = new Array(a,b,c,d) var s=arrayObj2 Array对象的元素下标是从0开始的。 (2)用for语句获取数组中的元素值。 该方法是利用for语句获取Array对象中的所有元素值。 例6.24 获取Array对象中的所有元素值。代码如下: arrayObj = new Ar

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论