扩展原生js的一些方法
扩展原生js的Array类
     Array.prototype.add = function(item){
         this.push(item);
     }
     Array.prototype.addRange = function(items){
         var length = items.length;
         if(length!=0){
             for (var index = 0; index < length; index++) {
                 this.push(items[index]);
             }
         }
     }
     Array.prototype.clear = function(){
         if(this.length>0){
             this.splice(0,this.length);
         }
     }
     Array.prototype.isEmpty = function(){
         if(this.length == 0){
             return true;
         }
         else{
             return false;
         }
     }
     Array.prototype.clone = function(){
         var clonedArray = [];
         var length = this.length;
         for (var index = 0; index < length; index++) {
             clonedArray[index] = this[index];
         }
         return clonedArray;
     }
     Array.prototype.contains = function(item){
         var index = this.indexOf(item);
         return (index>=0);
     }
     Array.prototype.dequeue = function(){
         return this.shift();
     }
     Array.prototype.indexOf = function(item){
         var length = this.length;
         if(length!=0){
             for (var index = 0; index < length; index++) {
                 if(this[index] == item){
                     return index;
                 }
             }
         }
         return -1;
     }
     Array.prototype.insert = function(index,item){
         this.splice(index,0,item);
     }
     Array.prototype.joinstr = function(str){
         var newStr = new Array(this.length);
         for (var i = 0; i < this.length; i++) {
             newStr[i] = this[i]+str;
         }
         return newStr;
     }
     Array.prototype.queue = function(item){//入队
         this.push(item);
     }
     Array.prototype.remove = function(item){
         var index = this.indexOf(item);
         if(index >= 0){
             this.splice(index,1);
         }
     }
     Array.prototype.removeAt = function(index){
         this.splice(index,1);
     }
     //给js原生Array增加each方法
     Array.prototype.each = function(fn)
     {
         return this.length ? [fn(this.slice(0,1))].concat(this.slice(1).each(fn)) : [];
     };
     [1,2,3,4].each(function(x){
         document.write(x + "<br/>");
     });
原生js的String类扩展
//获取字符数组
String.prototype.toCharArray = function(){
return this.split("");
}
//获取N个相同的字符串
String.prototype.repeat = function(num){
var tmpArr = [];
for (var i = 0; i < num; i++) {
temArr.push(this);
return temArr.join("");
} }
//逆序
String.prototype.reverse = function(){
return this.split("").reverse().join(""); }
//测试是否是数字
String.prototype.isNumeric = function() {
var tmpFloat = parseFloat(this);
if (isNaN(tmpFloat))
return false;
var tmpLen = this.length - tmpFloat.toString().length;
return tmpFloat + "0".Repeat(tmpLen) == this;
}
//测试是否是整数
String.prototype.isInt = function() {
if (this == "NaN")
return false;
return this == parseInt(this).toString();
}
// 合并多个空白为一个空白
String.prototype.resetBlank = function() {
return this.replace(/s+/g, " ");
}
// 除去左边空白
String.prototype.LTrim = function() {
return this.replace(/^s+/g, "");
}
// 除去右边空白
String.prototype.RTrim = function() {
return this.replace(/s+$/g, "");
}
// 除去两边空白
String.prototype.trim = function() {
return this.replace(/(^s+)|(s+$)/g, "");
}
// 保留数字
String.prototype.getNum = function() {
return this.replace(/[^d]/g, "");
}
// 保留字母
String.prototype.getEn = function() {
return this.replace(/[^A-Za-z]/g, "");
}
// 保留中文
String.prototype.getCn = function() {
return this.replace(/[^u4e00-u9fa5uf900-ufa2d]/g, "");
}
// 得到字节长度
String.prototype.getRealLength = function() {
return this.replace(/[^x00-xff]/g, "--").length;
}
// 从左截取指定长度的字串
String.prototype.left = function(n) {
return this.slice(0, n);
}
// 从右截取指定长度的字串
String.prototype.right = function(n) {
return this.slice(this.length - n);
}
// HTML编码
String.prototype.HTMLEncode = function() {
var re = this;
var q1 = [ /x26/g, /x3C/g, /x3E/g, /x20/g ];
var q2 = [ "&", "<", ">", " " ];
for ( var i = 0; i < q1.length; i++)
re = re.replace(q1[i], q2[i]);
return re;
}
// Unicode转化
String.prototype.ascW = function() {
var strText = "";
for ( var i = 0; i < this.length; i++)
strText += "&#" + this.charCodeAt(i) + ";";
return strText;
}
扩展原生js的一些方法的更多相关文章
- 原生JS事件绑定方法以及jQuery绑定事件方法bind、live、on、delegate的区别
		
一.原生JS事件绑定方法: 1.通过HTML属性进行事件处理函数的绑定如: <a href="#" onclick="f()"> 2.通过JavaS ...
 - 原生JS中apply()方法的一个值得注意的用法
		
今天在学习vue.js的render时,遇到需要重复构造多个同类型对象的问题,在这里发现原生JS中apply()方法的一个特殊的用法: var ary = Array.apply(null, { &q ...
 - 原生JS添加节点方法与jQuery添加节点方法的比较及总结
		
一.首先构建一个简单布局,来供下边讲解使用 1.HTML部分代码: <div id="div1">div1</div> <div id="d ...
 - 原生Js 两种方法实现页面关键字高亮显示
		
原生Js 两种方法实现页面关键字高亮显示 上网看了看别人写的,不是兼容问题就是代码繁琐,自己琢磨了一下用两种方法都可以实现,各有利弊. 方法一 依靠正则表达式修改 1.获取obj的html2.统一替换 ...
 - 原生JS实现new方法、new一个对象发生的四部、new里面常用的优先级
		
一.js中new一个对象的过程 首先了解new做了什么,使用new关键字调用函数(new ClassA(…))的具体步骤: 1.创建一个新对象: var obj = {}; 2.设置新对象的const ...
 - 【CSS进阶】原生JS getComputedStyle等方法解析
		
最近一直在研读 jQuery 源码,初看源码一头雾水毫无头绪,真正静下心来细看写的真是精妙,让你感叹代码之美. 其结构明晰,高内聚.低耦合,兼具优秀的性能与便利的扩展性,在浏览器的兼容性(功能缺陷.渐 ...
 - 原生JS封装ajax方法
		
http://blog.sucaijiayuan.com/article/89 jquery框架的ajax方法固然好用,但是假如某天我们的项目不能引入jquery或项目需求很简单,没有很多交互功能,只 ...
 - 绑定弹窗事件最好的方法,原生JS和JQuery方法
		
使用jQuery ui = { $close: $('.close') , $pop: $('.pop') , $topopBtn: $('.topop-btn') , $popbtnArea: $( ...
 - 转载 -- 基于原生JS与OC方法互相调用并传值(附HTML代码)
		
最近项目里面有有个商品活动界面,要与web端传值,将用户在网页点击的商品id 传给客户端,也就是js交互,其实再说明白一点就是方法的互相调用而已. 本文叙述下如何进行原生的JavaScript交互 本 ...
 
随机推荐
- 深入了解Angularjs指令中的ngModel
			
关于AngularJs的指令的知识学习,请参考... 这次我们接上次没讲完的知识继续. 前端人员在设计表单逻辑时, 在大部分情况下,我们需要为表单定义很多指令, 比如比较两个input内的值是否相同, ...
 - Python调用C可执行程序(subprocess)                                                    分类:            python             服务器搭建             C/C++             shell             2015-04-13 21:03    87人阅读    评论(0)    收藏
			
从Python 2.4开始,Python引入subprocess模块来管理子进程,以取代一些旧模块的方法:如 os.system.os.spawn.os.popen.popen2.commands. ...
 - oracle3
			
查看表结构 DESC emp; 查询所有列 SELECT * FROM dept; 切忌动不动就用select * set timing on; 打开显示操作时间的开关,在下面显示查询时间. CREA ...
 - careercup-链表 2.3
			
2.3 实现一个算法,删除单向链表中间的某个结点,假设你只能访问该结点.(即你不知道头结点) 这个问题的关键是你只有一个指向要删除结点的指针,如果直接删除它,这条链表就断了. 但你又没办法得到该结点之 ...
 - pcap文件格式
			
pcap文件格式 pcap文件格式是bpf保存原始数据包的格式,很多软件都在使用,比如tcpdump.wireshark等等,了解pcap格式可以加深对原始数据包的了解,自己也可以手工构造任意的数 ...
 - hdu2049.java
			
hdu 2049 不容易系列之(4)——考新郎 (组合+错排) 国庆期间,省城HZ刚刚举行了一场盛大的集体婚礼,为了使婚礼进行的丰富一些,司仪临时想出了有一个有意思的节目,叫做"考新郎&qu ...
 - WS_CLIPCHILDREN和WS_CLIPSIBLINGS的理解(转载)
			
1.1 WS_CLIPCHILDREN WS_CLIPCHILDREN样式从字面上可以理解成ClipChildren,裁减子窗口. MSDN里的E文解释:Excludes the area occup ...
 - 微信上传图文消息invalid media_id hint,thumb_media_id怎么获取
			
微信上传图文消息thumb_media_id, thumb_media_id怎么获取, 微信群发图文消息invalid media_id hint, 微信群发图文消息40007, 40007,inva ...
 - webstorm  如何配置git
			
2016-09-22 15:00:25 补充js 操作后 发现工具自动生成了两个文件,如果提交到git上 会造成不必要的麻烦,看看怎么去掉产生这个的原因吧! 去掉对应的监听:http://fronte ...
 - 如何:确定调用 ASP.NET 网页的方式
			
如何:确定调用 ASP.NET 网页的方式 通常有必要了解调用 ASP.NET 网页的方式:是由原始请求 (HTTP GET).回发 (HTTP POST).来自其他页的跨页面发送 (HTTP POS ...