js扩展一些比较有用的方法

js原型链扩展一些很实用的方法:

/**
* 格式化日期
* @param format
* @returns
*/
Date.prototype.format = function(format) {
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;
};
//使用
alert(new Date().format("yyyy-MM-dd"))

/**
* js原型链实现replaceAll
*/
String.prototype.replaceAll = function(s1,s2){
return this.replace(new RegExp(s1,"gm"),s2);
};

/**
* js实现endWith
*/
String.prototype.endWith=function(str){
if(str==null||str==""||this.length==0||str.length>this.length)
return false;
if(this.substring(this.length-str.length)==str)
return true;
else
return false;
return true;
}

/**
* js实现startWith
*/
String.prototype.startWith=function(str){
if(str==null||str==""||this.length==0||str.length>this.length)
return false;
if(this.substr(0,str.length)==str)
return true;
else
return false;
return true;
}

/**
* 数组扩展---根据下标删除某元素
*/
Array.prototype.del=function(n) {
if(n<0) return this;
else
return this.slice(0,n).concat(this.slice(n+1,this.length));
};

/**
* 数组扩展---根据一个值删除某元素
*/
Array.prototype.delByValue=function(value) {
for(var i = 0;i<this.length;i++){
if(this[i] == value){
this.del(i);
}
}
};

/**
* 数组扩展判断某值知否在数组中
*/
Array.prototype.isContainsValue=function(value) {
for(var i in this){
if(this[i]==value){
return true;
}
}
return false;
};

/**
* js阻止冒泡事件
*/
function stopPropagation(e) {
e = e || window.event;
if(e.stopPropagation) { //W3C阻止冒泡方法
e.stopPropagation();
} else {
e.cancelBubble = true; //IE阻止冒泡方法
}
}


来自个人博客 [url]http://www.rguess.com/blog/article/49.html[/url] 求关注
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值