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 相关文章推荐
原型方法的不同写法居然会影响调试的解决方法
Mar 08 Javascript
关于二级域名下使用一级域名下的COOKIE的问题
Nov 07 Javascript
滚动图片效果 jquery实现回旋滚动效果
Jan 08 Javascript
JavaScript实现鼠标点击后层展开效果的方法
May 13 Javascript
JQuery实现样式设置、追加、移除与切换的方法
Jun 11 Javascript
JavaScript Math.round() 方法
Dec 18 Javascript
AngularJS入门教程之Scope(作用域)
Jul 27 Javascript
JS 设置Cookie 有效期 检测cookie
Jun 15 Javascript
VUE重点问题总结
Mar 19 Javascript
关于微信小程序获取小程序码并接受buffer流保存为图片的方法
Jun 07 Javascript
js实现移动端tab切换时下划线滑动效果
Sep 08 Javascript
带你彻底理解JavaScript中的原型对象
Apr 14 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 网络开发详解之远程文件包含漏洞
2010/04/25 PHP
php urlencode()与urldecode()函数字符编码原理详解
2011/12/06 PHP
PHPExcel读取Excel文件的实现代码
2011/12/06 PHP
比较详细PHP生成静态页面教程
2012/01/10 PHP
Php无限级栏目分类读取的实现代码
2014/02/19 PHP
PHP-FPM之Chroot执行环境详解
2015/08/03 PHP
php封装的连接Mysql类及用法分析
2015/12/10 PHP
PHP使用strstr()函数获取指定字符串后所有字符的方法
2016/01/07 PHP
PHP使用Redis实现防止大并发下二次写入的方法
2017/10/09 PHP
详解PHP文件的自动加载(autoloading)
2018/02/04 PHP
php反射学习之不用new方法实例化类操作示例
2019/06/14 PHP
解决jquery .ajax 在IE下卡死问题的解决方法
2009/10/26 Javascript
JQuery小知识
2010/10/15 Javascript
两种方法实现文本框输入内容提示消失
2013/03/17 Javascript
通过扫描二维码打开app的实现代码
2016/11/10 Javascript
JavaScript中闭包的详解
2017/04/01 Javascript
vue 不使用select实现下拉框功能(推荐)
2018/05/17 Javascript
解决vue+webpack项目接口跨域出现的问题
2020/08/10 Javascript
nodejs处理tcp连接的核心流程
2021/02/26 NodeJs
python实现自动登录人人网并采集信息的方法
2015/06/28 Python
django 按时间范围查询数据库实例代码
2018/02/11 Python
pip安装python库的方法总结
2019/08/02 Python
pyenv与virtualenv安装实现python多版本多项目管理
2019/08/17 Python
Python 批量刷博客园访问量脚本过程解析
2019/08/30 Python
Python绘图实现显示中文
2019/12/04 Python
40个你可能不知道的Python技巧附代码
2020/01/29 Python
大学生村官事迹材料
2014/01/21 职场文书
勾股定理课后反思
2014/04/26 职场文书
三关爱志愿服务活动方案
2014/08/17 职场文书
仓管员岗位职责范本
2015/04/01 职场文书
2015年前台个人工作总结
2015/04/03 职场文书
可怜妈妈观后感
2015/06/09 职场文书
初中体育课教学反思
2016/02/16 职场文书
2016年三八红旗手先进事迹材料
2016/02/26 职场文书
我们认为中短波广播场强仪的最佳组合
2022/04/05 无线电
Java中Dijkstra(迪杰斯特拉)算法
2022/05/20 Java/Android