第3章 JavaScript常用内置对象
学习入门
?
日历的编写主要是利用Date内置对象取出当前日期的年月日星期等各部分日
期元素信息: 1、 2、 3、 4、 5、
获取当前日期时间 var today=new Date() 获取年 today.getYear() 获取月 today.getMonth() 获取日 today.getDate() 获取星期 today.getDay()
? getMonth获取月份返回值的范围是从0到11,所以要想对应真实的月份必须加
上1。
? getDay是指获取星期,返回值从0到6分别代表星期日、星期一到星期六,如
果需要返回中文的星期表示可以定义一个字符串数组,通过返回值作为索引的方式获取中文星期名称。
? 数学对象中封装了大量的数学运算函数和数学常量,对于这些函数和常量的调用
并不需要像Date对象的使用一样创建对象副本,只需要直接对Math对象进行调用就可以了。
? 字符串对象中的split方法可以直接将字符串按照分割符转换为字符串数组的形
式返回。
任务3-1 创建中文小日历
1 任务描述
编写一个中文小日历程序,可以在网页中显示出今日的日期信息,同时也可以显示出本月其他日期的星期。必须采用中文星期表示来显示星期,如果是闰年则必须在年份的旁边注明。
32
第3章 JavaScript常用内置对象
图 3-1中文小日历样式
2 基本概念与原理
? 由于地球绕太阳运行周期为365天5小时48分46秒(合365.24219天)即一回
归年,公历把一年定为365天。所余下的时间约为四年累计一天,加在二月里,所以平常年份每年365天,二月为28天,闰年为366天,二月为29天。因此,每400年中有97个闰年,闰年在2月末增加一天,闰年366天。 闰年的计算方法:公元纪年的年数可以被四整除,即为闰年;被100整除而不能被400整除为平年;被100整除也可被400整除的为闰年。如2000年是闰年,而1900年不是。 下面是一个计算公历闰年的例子:
var n = 2000;
if (((n % 400) == 0) || (((n % 4) = 0) && ((n % 100) != 0))){ alert(n + \是闰年!\}
? 判断一个月有多少天:对于1、3、5、7、8、10、12月每个月为31天,对于4、
6、9、11每个月为30天,对于2月有两种情况,一般为28天,闰年时为29天。 ? 不使用参数创建日期对象后将可以获得当前日期的日期对象,通过get系列方法
可以获取中文日历中必须的当前年份、月份、日期、和星期。
? 使用Date对象的set系列方法可以设置Date对象的日期,并通过与get系列方
法结合就可以获取指定日期的星期。
? 获取中文的星期可以通过创建一个索引号与星期返回值对应的数组来直接获取当
前星期的中文名称,例如:
var str1=\日,一,二,三,四,五,六\ var strArray=str1.split(\
alert(\今天是星期\
3 环境与资源
? Windows 2000 专业版或Windows XP等更高Windows版本、IE6.0简体中文版浏览
33
第3章 JavaScript常用内置对象
器、记事本程序。
? 教师指定路径LabSource\\CH3\\Lab3-1.HTM(完整代码)。
4 操作步骤
针对一个复杂的程序首先需要对问题进行分解,将大的问题转换为一个个小问题,然后分别进行解决,最后再组合成为完整的程序。在这个程序里,虽然并不是特别复杂,但是牵涉的知识面比较多,也可以采用一些小的测试程序来分步完成整个程序的设计。
(1) 将程序分为获取年月日、获取中文星期、判断闰年、获取指定月的天数和输出月历5个部分,下面首先编写代码分别实现获取当前年月日的功能。
(2) 首先将 “记事本”程序打开。单击[开始]菜单,进入程序组,单击[记事本]菜单项打开记事本程序。
图 3-2采用记事本输入程序
//获取当前年月日
var today=new Date(); var yy=today.getYear(); var mm=now.getMonth()+1; var dd=now.getDate();
alert(yy+\年\月\日\
(3) 在指定服务器中,提供的一个JavaScript编写小工具来测试这些独立的JavaScript代码,复制JsEditor.chm文件到D:\\JavaScript\\文件夹中后双击运行硬盘中的该文件。
(4) 单击工具条中的“是否辅助输入”的复选框去除选择状态,并把文本框中原有的内容删除,然后将以上代码输入到文本框中,按工具条中的第二个按钮以检查代码是否正确。
可以直接执行代码
34
第3章 JavaScript常用内置对象
运行代码
图 3-3测试获取年月日的代码片段
(5) 运行结果为如下图所示则表示该测试代码运行成功,也就是在程序中可以使用该方法获取当前日期的年月日信息。
图 3-4代码片段运行结果
(6) 获取中文星期可以采用字符串数组的方法。在记事本中输入以下程序:
var str1=\日,一,二,三,四,五,六\var strArray=str1.split(\
alert(\今天是星期\
(7) 复制以上代码到JsEditor中测试运行
(8) 执行运行按钮后弹出星期的中文名称。
图 3-5代码片段运行结果
35
第3章 JavaScript常用内置对象
(9) 判断闰年可以编写一个函数,输入年份,输出是否闰年,在记事本中接着输入以下程序。
//常规方法判断是否闰年 function isRunYear(n){ var tempResult=false;
if (((n % 400) == 0) || (((n % 4) = 0) && ((n % 100) != 0))){ tempResult=true; }
return tempResult; }
alert(\
(10) 在JsEditor中复制粘贴以上程序然后按[运行按钮]
。
图 3-6测试判断闰年的测试代码
图 3-7判断闰年的结果
(11) 获取指定月份的天数可以使用switch选择语句针对不同情况进行判断。
//常规方法判断一个月有几天
function HaveDays(theYear,theMonth){ var tempResult=0; switch (theMonth){ case 1: case 3: case 5:
36