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 相关文章推荐
js有关元素内容操作小结
Dec 20 Javascript
js将iframe中控件的值传到主页面控件中的实现方法
Mar 11 Javascript
使用JQUERY进行后台页面布局控制DIV实现左右式
Jan 07 Javascript
Javascript玩转继承(一)
May 08 Javascript
JavaScript数组函数unshift、shift、pop、push使用实例
Aug 27 Javascript
javascript实现一个简单的弹出窗
Feb 22 Javascript
分享10个优化代码的CSS和JavaScript工具
May 11 Javascript
BootStrap无限级分类(无限极分类封装版)
Aug 26 Javascript
JS实现拖动滚动条评分的效果代码分享
Sep 29 Javascript
javascript闭包功能与用法实例分析
Apr 06 Javascript
react-native ListView下拉刷新上拉加载实现代码
Aug 03 Javascript
ES6常用小技巧总结【去重、交换、合并、反转、迭代、计算等】
Dec 21 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
星际争霸中的热键
2020/03/04 星际争霸
PHP读写文件的方法(生成HTML)
2006/11/27 PHP
批量修改RAR文件注释的php代码
2010/11/20 PHP
php中global和$GLOBALS[]的分析之一
2012/02/02 PHP
php正则替换处理HTML页面的方法
2015/06/17 PHP
PHP进程通信基础之信号量与共享内存通信
2017/02/19 PHP
PHP实现的curl批量请求操作示例
2018/06/06 PHP
PHPStudy下如何为Apache安装SSL证书的方法步骤
2019/01/23 PHP
phpStorm+XDebug+chrome 配置详解
2019/04/01 PHP
js图片处理示例代码
2014/05/12 Javascript
javascript中AJAX用法实例分析
2015/01/30 Javascript
JS仿Windows开机启动Loading进度条的方法
2015/02/26 Javascript
浅析jQuery Mobile的初始化事件
2015/12/03 Javascript
jQuery遍历DOM元素与节点方法详解
2016/04/14 Javascript
nodejs爬虫遇到的乱码问题汇总
2017/04/07 NodeJs
jquery 禁止鼠标右键并监听右键事件
2017/04/27 jQuery
Node.JS使用Sequelize操作MySQL的示例代码
2017/10/09 Javascript
vue中实现先请求数据再渲染dom分享
2018/03/17 Javascript
Vue 组件注册实例详解
2019/02/23 Javascript
微信小程序实现日期格式化和倒计时
2020/11/01 Javascript
elementUI 动态生成几行几列的方法示例
2019/07/11 Javascript
Vue中消息横向滚动时setInterval清不掉的问题及解决方法
2019/08/23 Javascript
python 布尔操作实现代码
2013/03/23 Python
Python中的进程分支fork和exec详解
2015/04/11 Python
使用PyInstaller将python转成可执行文件exe笔记
2018/05/26 Python
浅谈python中np.array的shape( ,)与( ,1)的区别
2018/06/04 Python
python脚本开机自启的实现方法
2019/06/28 Python
Python解决pip install时出现的Could not fetch URL问题
2019/08/01 Python
简单了解python中的f.b.u.r函数
2019/11/02 Python
django框架ModelForm组件用法详解
2019/12/11 Python
常用的10个Python实用小技巧
2020/08/10 Python
网络维护管理员的自我评价分享
2013/11/11 职场文书
精彩的大学生自我评价
2013/11/17 职场文书
打架检讨书100字
2014/01/19 职场文书
2014班子“三严三实”对照检查材料思想汇报
2014/09/18 职场文书
2015年度工程师评职称工作总结
2015/10/14 职场文书