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阻止冒泡方法
}
}
来自个人博客
http://www.rguess.com/blog/article/49.html 求关注
分享到:
相关推荐
javascript string和array常用扩展方法
js扩展方法实例说明
JavaScript内置了众多方法供开发者使用,但随着项目需求的扩展,有时候我们需要添加一些内置方法里没有的功能。在扩展JavaScript功能时,重要的是要选择一种不破坏代码原有结构、不会引起意外副作用的方法,以实现...
总的来说,“js扩展多选下拉框”是一个典型的前端开发实践,它融合了JavaScript事件处理、DOM操作、数据管理以及用户体验优化等多个方面,对于提高开发者在Web应用中的交互设计能力具有重要意义。通过学习和实践这样...
在JavaScript中,prototype扩展是一种常见的方法,用于向内置对象(如String、...同时,需要注意的是,直接扩展原型链可能会影响到全局环境,对于某些性能敏感的应用,推荐使用ES6的类或者通过闭包封装这些扩展方法。
扩展jquery的ajax方法,可以处理一些ajax请求的共通问题,比如ajax请求出错之后跳转的问题。
### js扩展基础类知识点 #### 一、字符串长度计算(charlen) 在JavaScript中,标准的`String`对象并未提供直接获取包含中文字符在内的多字节字符长度的方法。本段代码通过扩展`String.prototype`实现了这一功能。...
【WebKit中的JsCore扩展方法】 WebKit是一个开源的网页排版引擎,被广泛应用于各大浏览器,如苹果的Safari。WebKit由两部分组成:WebCore和JsCore。WebCore主要负责HTML网页的解析,而JsCore则是JavaScript解释引擎...
de.js是一个轻量级的javascript扩展函数库,通过扩展页面元素的方法和属性、和扩展javascript内置类型的方法来帮助web前端开发人员实现更便捷和高效的编程。以下是主要特点: 支持类似jquery的选择器,同时支持类似...
为了解决这个问题,d3.js Extended应运而生,它扩展了d3.js的功能,将一些常见的jQuery函数引入到d3中,使开发者能够更加高效地进行数据可视化开发。 d3.js Extended的核心理念是简化d3.js的使用,使得具备jQuery...
一次在Iteye上面看到的一个帖子觉得写得非常好,就复制下来,本来留到自己以后慢慢用,我想很多朋友应该也需要的,就传上来分享一下
"EasyUI 扩展方法 + jutil.js" 提供了对原生 EasyUI 功能的增强和自定义,以满足更复杂或特定的项目需求。 在标题中提到的 "EasyUI 扩展方法" 指的是对 EasyUI 基础组件的额外功能添加,这些扩展可能包括新的API、...
基于Rhino引擎的低侵入式JavaScript内置对象扩展方法.pdf 本文主要介绍了基于Rhino引擎的低侵入式JavaScript内置对象扩展方法。Rhino引擎是一个JavaScript解析引擎,可以解析JavaScript脚本并生成网页信息。为了...
JavaScript(简称JS)是一种广泛应用于Web开发的轻量级脚本语言,主要在客户端运行,为用户提供动态交互体验。在网页开发中,提示功能是必不可少的一部分,它可以帮助用户理解页面操作的结果或者提供必要的引导信息...
调试C++扩展可能比较复杂,因为涉及JavaScript和C++两层。可以使用V8的调试接口,或者结合Node.js的`--inspect`选项,配合VSCode、Chrome DevTools等工具进行调试。 9. **错误处理**: 在C++扩展中,正确处理错误...
标题中的“编写javascript插件,来扩展已有的JavaScript功能”意味着我们将探讨如何通过创建自定义函数或方法,添加到JavaScript的内置对象或者全局环境中,从而实现功能增强。例如,我们可以为String对象添加新的...
本主题将深入探讨“js异步上传图片文件”以及“C#类扩展方法obtojson”。 首先,我们来看看“js异步上传图片文件”。在JavaScript中,处理大文件的异步上传通常涉及HTML5的File API。FileReader接口允许我们读取...
本文档旨在为开发人员提供一个详细的指导方案,介绍如何在Chromium浏览器中集成JavaScript扩展。特别地,本文将聚焦于一个具体的示例——移植NGB模块中的`NGBFileManager`接口与`NGBDirectory`接口至JavaScript环境...