jQuery1.6 使用方法一


Posted in Javascript onNovember 23, 2011

error: function( msg ) {//声明错误
throw msg;
},
parseJSON: function( data ) {//把字符串转换成json格式
if ( typeof data !== "string" || !data ) {//首先判断是否存在,是否为字符串
return null;
}
data = jQuery.trim( data );//去掉前后空白
if ( window.JSON && window.JSON.parse ) {//高级版本有原生JSON转换函数window.JSON
return window.JSON.parse( data );
}
if ( rvalidchars.test( data.replace( rvalidescape, "@" )//
.replace( rvalidtokens, "]" )//
.replace( rvalidbraces, "")) ) {//进行简单的检验,对{true:1},{"a",{}}....都通过
//rvalidchars = /^[\],:{}\s]*$/,
//rvalidescape = /\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,u[0-9a-fA-F]{4}匹配中英文和转义符
//rvalidtokens = /"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,//匹配字符串中不含有“\\”、“\n”、“\r”、布尔值、null、数字
//rvalidbraces = /(?:^|:|,)(?:\s*\[)+/g,匹配(开始为空或者:或者,)(后面跟随零或多个空格,最后跟随[) 如 [、: [、,[、, [等等
return (new Function( "return " + data ))();

}
jQuery.error( "Invalid JSON: " + data );
},
parseXML: function( data , xml , tmp ) {不明白传入xml tmp用处
if ( window.DOMParser ) { // 标准

//DOMParser 对象解析 XML 文本并返回一个 XML Document 对象。要使用 DOMParser,使用不带参数的构造函数来实例化它,然后调用其

 //parseFromString() 方法:
tmp = new DOMParser();
xml = tmp.parseFromString( data , "text/xml" );
} else { // IE
xml = new ActiveXObject( "Microsoft.XMLDOM" );
xml.async = "false";
xml.loadXML( data );
}
tmp = xml.documentElement;
if ( ! tmp || ! tmp.nodeName || tmp.nodeName === "parsererror" ) {//判断返回的结果是否为空,是否不是节点,是否报错
jQuery.error( "Invalid XML: " + data );
}
return xml;
}

globalEval: function( data ) {//把data变为可执行
if ( data && rnotwhite.test( data ) ) {//检查是否存在,是否不为空
( window.execScript || function( data ) {
window[ "eval" ].call( window, data );//window.eval.call(window,data)这种方式,在某些情况下IE下也不能改变上下环境所以只能针对IE使用window.execScript,其他流浪器使用window.eval.call(window,data);
} )( data );
}
},
nodeName: function( elem, name ) {
return elem.nodeName && elem.nodeName.toUpperCase() === name.toUpperCase();//判断是否是节点,节点名默认是大写,为了保证能够正确判断,都转化成相同格式(大写)
},

each: function( object, callback, args ) {
var name, i = 0,
length = object.length,//window,String,Function,Array类型的不为undefined;..
isObj = length === undefined || jQuery.isFunction( object );//主要为了区分开对象和数组
if ( args ) {//如果没有传入参数,会用默认的名和值来作为参数,如果有参数,就使用传入的参数
if ( isObj ) {
for ( name in object ) {
if ( callback.apply( object[ name ], args ) === false ) {
break;
}
}
} else {
for ( ; i < length; ) {
if ( callback.apply( object[ i++ ], args ) === false ) {
break;
}
}
}
} else {//如果没有传入参数,
if ( isObj ) {
for ( name in object ) {// object[ name ]值作为当前对象,把名和值作为参数
if ( callback.call( object[ name ], name, object[ name ] ) === false ) {//判断回调函数返回值,决定是否继续循环
break;
}
}
} else {
for ( ; i < length; ) {//object[ i ]值作为当前对象,把名(i为先后顺序)和值作为参数
if ( callback.call( object[ i ], i, object[ i++ ] ) === false ) {//判断回调函数返回值,决定是否继续循环
break;
}
}
}
}
return object;
},

trim: trim ?//检测是否有原生trim方法,如果参数text !=就进行截取前后空白,否则返回空,没有原生trim的话,强制转换为字符串再进行正则替换,否则报错,使用正则替换(trimLeft = /^\s+/,//匹配左空白,trimRight = /\s+$/,//匹配右空白),
function( text ) {
return text == null ?
"" :
trim.call( text );
} :
function( text ) {
return text == null ?
"" :
text.toString().replace( trimLeft, "" ).replace( trimRight, "" );
},

Javascript 相关文章推荐
javascript中检测变量的类型的代码
Dec 28 Javascript
jquery 圆形旋转图片滚动切换效果
Jan 19 Javascript
JavaScript图片放大技术(放大镜)实现代码分享
Nov 14 Javascript
D3.js实现直方图的方法详解
Sep 25 Javascript
JavaScript Ajax实现异步通信
Dec 14 Javascript
javascript实现延时显示提示框效果
Jun 01 Javascript
JQueryMiniUI按照时间进行查询的实现方法
Jun 07 jQuery
js中的闭包学习心得
Feb 06 Javascript
基于jQuery使用Ajax动态执行模糊查询功能
Jul 05 jQuery
javascript中如何判断类型汇总
May 14 Javascript
ES6小技巧之代替lodash
Jun 07 Javascript
浅谈vue中组件绑定事件时是否加.native
Nov 09 Javascript
JS 表单验证大全
Nov 23 #Javascript
JavaScript中的16进制字符(改进)
Nov 21 #Javascript
日期处理的js库(迷你版)--自建js库总结
Nov 21 #Javascript
js 完美图片新闻轮转效果,腾讯大粤网首页图片轮转改造而来
Nov 21 #Javascript
页面调用单个swf文件,嵌套出多个方法。
Nov 21 #Javascript
javascript中xml操作实现代码
Nov 21 #Javascript
js调用activeX获取u盘序列号的代码
Nov 21 #Javascript
You might like
用PHP和ACCESS写聊天室(二)
2006/10/09 PHP
PHP新手上路(十三)
2006/10/09 PHP
php-accelerator网站加速PHP缓冲的方法
2008/07/30 PHP
PHP 7安装使用体验之性能大提升,兼容性强,扩展支持不够(升级PHP要谨慎)
2017/07/27 PHP
在Laravel中使用GuzzleHttp调用第三方服务的API接口代码
2019/10/15 PHP
Javascript 错误处理的几种方法
2009/06/13 Javascript
js 获取、清空input type=&quot;file&quot;的值(示例代码)
2013/12/24 Javascript
jquery插件开发之实现jquery手风琴功能分享
2014/03/10 Javascript
JavaScript实现的使用键盘控制人物走动实例
2014/08/27 Javascript
Javascript中数组sort和reverse用法分析
2014/12/30 Javascript
javascript面向对象之访问对象属性的两种方式分析
2015/01/13 Javascript
限制只能输入数字的实现代码
2016/05/16 Javascript
jQuery实现图片轮播效果代码(基于jquery.pack.js插件)
2016/06/02 Javascript
浅谈js键盘事件全面控制
2016/12/01 Javascript
Bootstrap导航条学习使用(二)
2017/02/08 Javascript
使用vue构建移动应用实战代码
2017/08/02 Javascript
es6+angular1.X+webpack 实现按路由功能打包项目的示例
2017/08/16 Javascript
JS轮播图实现简单代码
2021/02/19 Javascript
基于Cookie常用操作以及属性介绍
2017/09/07 Javascript
BootStrap 标题设置跨行无效的解决方法
2017/10/25 Javascript
关于JavaScript中高阶函数的魅力详解
2018/09/07 Javascript
Vue中util的工具函数实例详解
2019/07/08 Javascript
用VsCode编辑TypeScript的实现方法
2020/05/07 Javascript
Python比较两个图片相似度的方法
2015/03/13 Python
基于pip install django失败时的解决方法
2018/06/12 Python
python3去掉string中的标点符号方法
2019/01/22 Python
python之当你发现QTimer不能用时的解决方法
2019/06/21 Python
django将数组传递给前台模板的方法
2019/08/06 Python
tensorflow的ckpt及pb模型持久化方式及转化详解
2020/02/12 Python
Django静态资源部署404问题解决方案
2020/05/11 Python
html5实现滑块功能之type=&quot;range&quot;属性
2020/02/18 HTML / CSS
C语言中一个结构不能包含指向自己的指针吗
2012/05/25 面试题
什么是用户模式(User Mode)与内核模式(Kernel Mode) ?
2014/07/21 面试题
培训心得体会
2013/12/29 职场文书
请假条格式范文
2014/04/10 职场文书
酒店工程部经理岗位职责
2015/04/09 职场文书