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 相关文章推荐
慎用 somefunction.prototype 分析
Jun 02 Javascript
IE 条件注释详解总结(附实例代码)
Aug 29 Javascript
CSS和JS标签style属性对照表(方便js开发的朋友)
Nov 11 Javascript
jquery获取一组checkbox的值(实例代码)
Nov 04 Javascript
javascript图片相似度算法实现 js实现直方图和向量算法
Jan 14 Javascript
angularjs中的单元测试实例
Dec 06 Javascript
Bootstrap每天必学之媒体对象
Nov 30 Javascript
AngularJS基础 ng-mouseover 指令简单示例
Aug 02 Javascript
解析Vue2.0双向绑定实现原理
Feb 23 Javascript
vue.js树形组件之删除双击增加分支实例代码
Feb 28 Javascript
Vue filter 过滤当前时间 实现实时更新效果
Dec 20 Javascript
Angular如何由模板生成DOM树的方法
Dec 23 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 和 XML: 使用expat函数(三)
2006/10/09 PHP
php cookie 作用范围?不要在当前页面使用你的cookie
2009/03/24 PHP
使用PHP接收POST数据,解析json数据
2013/06/28 PHP
详解yii2实现分库分表的方案与思路
2017/02/03 PHP
php读取出一个文件夹及其子文件夹下所有文件的方法示例
2017/06/15 PHP
使用SMB共享来绕过php远程文件包含的限制执行RFI的利用
2019/05/31 PHP
js Dialog 实践分享
2012/10/22 Javascript
图片上传判断及预览脚本的效果实例
2013/08/07 Javascript
js判断字符长度及中英文数字等
2014/03/19 Javascript
jQuery实现列表的全选功能
2015/03/18 Javascript
纯javascript实现四方向文本无缝滚动效果
2015/06/16 Javascript
localResizeIMG先压缩后使用ajax无刷新上传(移动端)
2015/08/11 Javascript
Angularjs过滤器使用详解
2016/05/25 Javascript
AngularJS 获取ng-repeat动态生成的ng-model值实例详解
2016/11/29 Javascript
Bootstrap基本组件学习笔记之进度条(15)
2016/12/08 Javascript
新闻上下滚动jquery 超简洁(必看篇)
2017/01/21 Javascript
webpack 4.0.0-beta.0版本新特性介绍
2018/02/10 Javascript
解决webpack dev-server不能匹配post请求的问题
2018/08/24 Javascript
node.js连接mysql与基本用法示例
2019/01/05 Javascript
[01:55]2014DOTA2国际邀请赛快报:国土生病 紧急去医院治疗
2014/07/10 DOTA
python调用fortran模块
2016/04/08 Python
Python分支结构(switch)操作简介
2018/01/17 Python
对python自动生成接口测试的示例讲解
2018/11/30 Python
Python实现栈和队列的简单操作方法示例
2019/11/29 Python
车辆维修工自我评价怎么写
2013/09/20 职场文书
中文系学生自荐信范文
2013/11/13 职场文书
计算机专业学生的自我评价
2013/12/15 职场文书
初三学生评语大全
2014/04/24 职场文书
副总经理岗位职责
2015/02/02 职场文书
服务员岗位职责范本
2015/04/09 职场文书
绿色环保倡议书
2015/04/28 职场文书
2015年小学校长工作总结
2015/05/19 职场文书
实习证明格式范文
2015/06/16 职场文书
职工趣味运动会开幕词
2016/03/04 职场文书
Jupyter notebook 更改文件打开的默认路径操作
2021/05/21 Python
Python Matplotlib绘制动画的代码详解
2022/05/30 Python