HTML5技术

网页制作中prototype的使用方法_HTML教程(2)

字号+ 作者:H5之家 来源:H5之家 2015-09-17 16:22 我要评论( )

01.Date.prototype.DayDiff = function(cDate,mode){ 02.try{ 03.cDate.getYear(); 04.}catch(e){ 05.return(0); 06.} 07.var base =60*60*24*1000; 08.var result = Math.abs(this - cDate); 09.switch(mode){ 10.

01.Date.prototype.DayDiff = function(cDate,mode){
 
02.try{
 
03.cDate.getYear();
 
04.}catch(e){
 
05.return(0);
 
06.}
 
07.var base =60*60*24*1000;
 
08.var result = Math.abs(this - cDate);
 
09.switch(mode){
 
10.case "y":
 
11.result/=base*365;
 
12.break;
 
13.case "m":
 
14.result/=base*365/12;
 
15.break;
 
16.case "w":
 
17.result/=base*7;
 
18.break;
 
19.default:
 
20.result/=base;
 
21.break;
 
22.}
 
23.return(Math.floor(result));
 
24.}

 试验:alert((new Date()).DayDiff((new Date(2002,0,1)))) -> 显示 329
 alert((new Date()).DayDiff((new Date(2002,0,1)),”m”)) -> 显示 10
 当然,也可以进一步扩充,得出响应的小时、分钟,甚至是秒。
 
(3) Number.fact()
 作用:某一数字的阶乘
 实现方法:
 

01.Number.prototype.fact=function(){
 
02.var num = Math.floor(this);
 
03.if(num<0)return NaN;
 
04.if(num==0 || num==1)
 
05.return 1;
 
06.else
 
07.return (num*(num-1).fact());
 
08.}


试验:alert((4).fact()) -> 显示 24
 这个方法主要是说明了递归的方法在 prototype 方法中也是可行的!

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
网友点评