扩展原生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的一些方法的更多相关文章

  1. 原生JS事件绑定方法以及jQuery绑定事件方法bind、live、on、delegate的区别

    一.原生JS事件绑定方法: 1.通过HTML属性进行事件处理函数的绑定如: <a href="#" onclick="f()"> 2.通过JavaS ...

  2. 原生JS中apply()方法的一个值得注意的用法

    今天在学习vue.js的render时,遇到需要重复构造多个同类型对象的问题,在这里发现原生JS中apply()方法的一个特殊的用法: var ary = Array.apply(null, { &q ...

  3. 原生JS添加节点方法与jQuery添加节点方法的比较及总结

    一.首先构建一个简单布局,来供下边讲解使用 1.HTML部分代码: <div id="div1">div1</div> <div id="d ...

  4. 原生Js 两种方法实现页面关键字高亮显示

    原生Js 两种方法实现页面关键字高亮显示 上网看了看别人写的,不是兼容问题就是代码繁琐,自己琢磨了一下用两种方法都可以实现,各有利弊. 方法一 依靠正则表达式修改 1.获取obj的html2.统一替换 ...

  5. 原生JS实现new方法、new一个对象发生的四部、new里面常用的优先级

    一.js中new一个对象的过程 首先了解new做了什么,使用new关键字调用函数(new ClassA(…))的具体步骤: 1.创建一个新对象: var obj = {}; 2.设置新对象的const ...

  6. 【CSS进阶】原生JS getComputedStyle等方法解析

    最近一直在研读 jQuery 源码,初看源码一头雾水毫无头绪,真正静下心来细看写的真是精妙,让你感叹代码之美. 其结构明晰,高内聚.低耦合,兼具优秀的性能与便利的扩展性,在浏览器的兼容性(功能缺陷.渐 ...

  7. 原生JS封装ajax方法

    http://blog.sucaijiayuan.com/article/89 jquery框架的ajax方法固然好用,但是假如某天我们的项目不能引入jquery或项目需求很简单,没有很多交互功能,只 ...

  8. 绑定弹窗事件最好的方法,原生JS和JQuery方法

    使用jQuery ui = { $close: $('.close') , $pop: $('.pop') , $topopBtn: $('.topop-btn') , $popbtnArea: $( ...

  9. 转载 -- 基于原生JS与OC方法互相调用并传值(附HTML代码)

    最近项目里面有有个商品活动界面,要与web端传值,将用户在网页点击的商品id 传给客户端,也就是js交互,其实再说明白一点就是方法的互相调用而已. 本文叙述下如何进行原生的JavaScript交互 本 ...

随机推荐

  1. MVC-@html.ActionLink的几种参数格式

    一 Html.ActionLink("linkText","actionName") 该重载的第一个参数是该链接要显示的文字,第二个参数是对应的控制器的方法, ...

  2. Cocos2d-x3.0TestCpp文件夹笔记(二)

    3.Actions-Basic:此demo中体现ccp由Point取代 ①ActionManual:直接设置精灵的属性demo. const Color3B Color3B::RED    (255, ...

  3. LabVIEW设计模式系列——资源关闭后错误处理

    标准: 1.很多引用资源其打开函数和关闭函数对错误处理的方式有所不同:2.一般地NI的Help里对打开函数的错误端子的解释是这样的:如错误发生在VI或函数运行之前,VI或函数将把错误输入值传递至错误输 ...

  4. Android BLE开发——Android手机与BLE终端通信初识

    蓝牙BLE官方Demo下载地址:   http://download.csdn.net/detail/lqw770737185/8116019参考博客地址:    http://www.eoeandr ...

  5. CentOS 6.7安装Hadoop 2.6.3集群环境

    在CentOS 6.7 x64上搭建Hadoop 2.6.3完全分布式环境,并在DigitalOcean上测试成功. 本文假设: 主节点(NameNode)域名(主机名):m.fredlab.org ...

  6. C#发送邮件-C#教程

    如何利用C#实现邮件发送功能?闲话不多说请看代码: public static void SendMail(MyEmail email){//发送验证邮箱邮件.//1.创建邮件MailMessage ...

  7. Oracle 特殊字符模糊查询的方法

    最近在写DAO层的时候,遇到一个问题,就是使用like进行模糊查询时,输入下划线,无法精确查到数据,而是返回所有的数据. 这让我很好奇,百度之后才发现,原来是因为有些特殊字符需要进行转义才可以进行查询 ...

  8. css 导航条 布局

    导航条(简单易用的导航) <!DOCTYPE html> <html> <head> <style> ul { list-style-type:none ...

  9. [序列化] Serialize--序列化帮助类 (转载)

    点击下载 Serialize.zip 这个类是关于加密,解密的操作,文件的一些高级操作1.序列化2.要序列化的类3.序列化例子看下面代码吧 /// <summary> /// 类说明:As ...

  10. [Mime] 在c#程序中放音乐的帮助类 (转载)

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.M ...