
本文共 2320 字,大约阅读时间需要 7 分钟。
Date对象用于处理日期和时间。但是DOM里并没有现成的Date对象,而是需要我们自己在需要时创建Data对象。
语法:
var myDate = new Date();
变量myDate就是一个Date对象。
var year = myDate.getFullYear(); //四位年份,2020var month = myDate.getMonth(); // 0~11,0表示1月份var date = myDate.getDate(); //日期,1-31var day = myDate.getDay(); //星期几,0~6var hours = myDate.getHours(); // 时,0~23var minutes = myDate.getMinutes(); //分,0~59var seconds = myDate.getSeconds(); //秒,0~59
创建具有指定日期和时间的Date对象:
语法:
var myDate = new Date(milliseconds); //毫秒var myDate = new Date(dateString); // 日期字符串var myDate = new Date(year,month,day,hours,minutes,seconds,milliseconds); //
比如:
var d2 = new Date(2020,12,22); // 2020年12月22日var d3 = new Date(2020,12,22,10,58,0); //2020年12月22日10:58:00
设置和编辑日期与时间:
var myDate = new Date();myDate.setDate(15); //
这段代码,先创建了myDate对象,接着就把日子换成了15日。
var myDate = new Date();myDate.setDate(myDate.getDate() + 33);
这段代码,是把当天日期往后推迟33天的日期。
Math对象:
与Date对象不同,Math对象不需要创建就可以使用。
方法 | 描述 |
ceil(n) | 返回n向上取证到最近的整数 |
floor(n) | 返回n向下取整到最近的整数 |
max(a,b,c) | 返回最大值 |
min(a,b,c) | 返回最小值 |
round(n) | 返回n四舍五入到最近的整数 |
random() | 返回一个0到1之间的随机数 |
取整:
var num1 = 12.55;var num2 = 12.45;Math.floor(num1); // 12Math.ceil(num1); // 13Math.round(num1); // 13Math.round(num2); // 12
floor是向下取整,ceil是向上取整,round是四舍五入。
最大值和最小值:
var value1 = 23;var value2 = 27;var value3 = 31;var value4 = 19;Math.max(value1,value2,value3,value4); // 31Math.min(value,value2,value3); //23
生成随机数:
用Math.random()方法可以生成0和1之间的一个随机数。更为常见的情况是,我需要需要获得0到100之间的随机数。
我们可以把Math.random()方法包含在一个函数内,在给它一个参数,用于放大倍数。
function myRand(range) { return Math.round(Math.random() * range);}
调用时:
myRand(100);
强调一点,在程序代码中,可以直接使用Math对象的方法,不要误认为Math的方法是其他创建对象的方法。
比如:
var num1 = 25.77;num1.floor(); // error
正确的用法是:
Math.floor(num1); // 25
数学常数:
常数 | 描述 |
E | 自然常数e,约为2.718 |
LN2 | 2的自然对数,约为0.693 |
LN10 | 10的自然对数,约为2.302 |
LOG2E | 以2为底e的对数,约为1.442 |
LOG10E | 以10为底e的对数,约为0.434 |
PI | 圆周率,约为3.14159 |
SQRTI_2 | 2的平方根的倒数,约为0.707 |
SQRT2 | 2的平方根,约为1.414 |
我们可以在数学计算中,直接使用这些常量。
关键字with:
任何对象都可以使用关键字width,但用Math对象做示范最合适。可以减少输入量。
示例:
with(Math){ var myRand = random(); var biggest = max(3,4,5); var height = round(76.35);}
可以省去重复输入Math。
我们看一个完整的时间的示例代码:
当前日期和时间
上面的代码会把你电脑的当前时间,显示在网页上的。如果需要看到时间的变化,可以使用location对象的reload方法。
另外插一句,Date对象中的getFullYear和setFullYear ,与getYear和setYear的区别。
getYear和setYaer使用的是两位数字表示年份,而getFullYear和setFullyear是使用的4位数字表示年份的。考虑到千禧年的问题,目前getYear和setYear已经废弃,不再使用了。
发表评论
最新留言
关于作者
