//Ajax扩展
var Ajax = function(url, params, callback) {
var reqError = "\u54cd\u5e94\u5f02\u5e38\uff01\uff01\uff01";
var sendData = null;
var createXHR = function () {
var XHR;
if (window.XMLHttpRequest) {
XHR = new XMLHttpRequest();
} else {
if (window.ActiveXObject) {
try {
XHR = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e) {
try {
XHR = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e) {
}
}
}
}
return XHR;
};
var processParams = function () {
var ret = "";
for (var p in params) {
ret += "&";
ret += p + "=" + params[p];
}
ret = ret.substring(1);
return ret;
};
var method = (url.indexOf("?") == -1) ? "POST" : "GET";
if (params&&typeof(params)=='object') {
if(typeof(params)=='object'){
if (method == "GET") {
url += "&" + processParams();
} else {
sendData = processParams();
}
}
if(typeof(params)=='string'){
if (method == "GET") {
url += "&" + params;
} else {
sendData = params;
}
}
}
var xhr = createXHR();
xhr.open(method, url, true);
if (method == "POST") {
xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
}
xhr.onreadystatechange = function () {
if (xhr.readyState == 4) {
if (xhr.status == 200) {
if(callback){
callback(xhr);
};
} else {
window.alert(reqError);
}
}
};
xhr.send(sendData);
};
//Array扩展
Array.prototype.indexOf=function (el) {
var ret=-1;
for(var k=0;k<this.length;k++) {
if(this[k]==el) {
ret=k;
break;
}
}
return ret;
};
Array.prototype.each=function (fn) {
for(var k=0;k<this.length;k++) {
fn(this[k],k);
}
};
Array.prototype.unique=function () {
var temp={};
var result=[];
for(var k=0;k<this.length;k++) {
if(!temp[this[k]]) {
temp[this[k]]=true;
}
}
for(var i in temp) {
result.push(i);
}
return result;
};
Array.prototype.remove=function (el) {
while(this.indexOf(el)!=-1) {
this.splice(this.indexOf(el),1);
}
return this;
};
var Map=function () {
this.map={};
this.keys=[];
this.values=[];
this.count=0;
this.add=function (k,v) {
this.map[k]=v;
var index=this.keys.indexOf(k);
if(index!=-1) {
this.values[index]=v;
}else {
this.keys.push(k);
this.values.push(v);
this.count++;
}
};
this.get=function (k) {
return this.map[k];
}
};
//Function扩展
Function.prototype.defer=function () {
var time=arguments[0]?arguments[0]:1000;
var params=[];
for(var k=1;k<arguments.length;k++) {
params.push(arguments[k]);
}
params=params.join(",");
window.setTimeout(this(params),time);
};
分享到:
相关推荐
1. `uuid-js`库:这是一个基于RFC4122标准实现的JavaScript库,提供了V1到V5的所有版本UUID生成方法。其中,V1基于时间戳和MAC地址生成,V4完全是随机生成,V5则基于命名空间和SHA-1哈希算法。 2. `uuid`库(之前...
学习和使用弹窗js库,开发者需要掌握基本的JavaScript语法、DOM操作和事件监听。同时,理解浏览器兼容性和性能优化也是重要的实践环节。在实际项目中,选择合适的弹窗解决方案需要考虑用户体验、功能需求、开发效率...
elasticsearch.js, 使用ElasticSearch的简单javascript库 一个简单的javascript库,用于处理 ElasticSearch 。它还提供了一个backend接口,适合于与倾斜式数据库套件一起使用。用法库需要:下划线jQuery ( 用于Ajax...
一个JavaScript库是一组预先编写好的函数和对象,可以方便地被其他JavaScript代码引用和使用,以提高开发效率和代码重用性。例如,jQuery就是一个著名的JS库,它简化了DOM操作、事件处理和动画制作等任务。 构建...
javascript库pdfjs-1.8.188.js压缩包javascript库pdfjs-1.8.188.js压缩包javascript库pdfjs-1.8.188.js压缩包
Jmat.js 是一个 JavaScript 的数学计算库。支持复杂的数学函数和统计。 标签:Jmatjs
"crypto-js.js的js库" 指的是一个JavaScript库,名为`crypto-js`,它专门用于加密和解密操作。这个库是JavaScript开发者在Web应用中处理安全数据传输、用户密码存储以及其他涉及加密需求时常用的一个工具。 **描述...
js获取汉字字符串的首字母必须先从库里面进行比较。这就是可能用到的库。
最新版Javascript库!支持Cookie、Ajax、BlockUI and so on.
这个名为"length.js"的库专为此目的而设计,它提供了方便的API,允许开发者轻松地在各种长度单位之间进行转换。让我们深入探讨这个库的细节。 ### 一、库的安装与引入 首先,你需要将`length.js`库添加到你的项目...
在"强大的js库,好资源"这个主题中,我们聚焦于利用JavaScript库来提升网页功能和用户体验。这些库通常包含预编写的功能,可以帮助开发者快速实现常见任务,如数据可视化、动画、用户界面组件等。 描述中提到的"三...
Math.js 是个JavaScript 和 Node.js 的扩展数学库。它包括了灵活的表达式解析器,提供数字,大数值,复杂数值,单位,矩阵等等集成的解决方案。Math.js 很强大又易于使用。 特性 支持数值,大数值,复杂数值,单位...
FileSaver.js 实现了在本身不支持 HTML5 W3C saveAs() FileSaver 接口的浏览器支持文件保存。FileSaver.js 在客户端保存文件的解决方案,并且...是一种简单易用实现的利用 JavaScript/JS 在浏览器端保存文件的方案。
1. **jQuery.js**:jQuery是一个广泛使用的JavaScript库,它的主要目标是简化JavaScript编程,通过提供一套简洁的API来处理DOM操作、事件处理、动画效果以及Ajax交互。jQuery的核心特性包括选择器(用于高效地查找...
标题 "一些自寫通用的JS库" 描述的是一个包含作者自行编写的JavaScript库的集合,这个库可能包含了各种实用的功能,比如自定义滚动条、文本高亮和元素颜色变化等。这些功能对于网页交互性和用户体验提升有重要作用,...
"statisticsjs用于统计数据分析的扩展开源JavaScript库" 指出我们讨论的是一个名为statistics.js的JavaScript库,它专门用于统计数据分析。这个库是开源的,意味着任何人都可以查看、使用其代码,并对其进行修改或...
CryptoJS(crypto.js)是一个为JavaScript提供了各种各样的加密算法的JavaScript库。 作用:用前端框架加密后再进行传输,以提高密码传输过程中的安全性。 aes.js, bower.json, cipher-core.js, core.js, crypto-js....
在Web开发中,JavaScript库如jQuery、React或Vue.js等提供了丰富的功能,如DOM操作、事件处理、动画效果等,极大地提高了开发效率。但有时候,这些大型库可能包含了许多你并不需要的功能,从而增加了页面加载的时间...
“pinyin4js是一个汉字转拼音的Javascript开源库”表明这是一个JavaScript库,它的主要功能是将汉字转换为对应的拼音表示。在网页应用或者JavaScript编程中,这样的库可以帮助开发者处理与汉字拼音相关的任务,比如...
Tween.jsJavaScript库