您的位置:首页 > Web前端 > JavaScript

通过原型(prototype)扩充javascript内置对象

2011-10-20 23:57 489 查看
想要自定义js内置对象没有的函数,可以通过对象的原型(prototype)属性来扩展。

prototype是js的顶级对象Object对象的一个属性,它表示它的所有的内容都将被它所在的对象所拥有。

举个例子,js中的Date对象没有格式化日期的函数,我们可以自定义一个,代码如下:

Date.prototype.format = function(format) //author: meizz
{
var o = {
"M+ " : this.getMonth()+1, //month
"d+ " : this.getDate(), //day
"h+ " : this.getHours(), //hour
"m+ " : this.getMinutes(), //minute
"s+ " : this.getSeconds(), //second
"q+ " : Math.floor((this.getMonth()+3)/3), //quarter
"S " : this.getMilliseconds() //millisecond
}
if(/(y+)/.test(format)) format=format.replace(RegExp.$1,
(this.getFullYear()+ " ").substr(4 - RegExp.$1.length));
for(var k in o)if(new RegExp( "( "+ k + ") ").test(format))
format = format.replace(RegExp.$1,
RegExp.$1.length==1 ? o[k] :
( "00 "+ o[k]).substr(( " "+ o[k]).length));
return format;
} 定义完了后,我们就可以直接通过Date对象调用这个函数啦!
alert(new Date().format( "yyyy-MM-dd hh:mm:ss "));
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息