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 相关文章推荐
关于IE浏览器以及Firefox下的javascript冒泡事件的响应层级
Oct 14 Javascript
一个简单的Node.js异步操作管理器分享
Apr 29 Javascript
jQuery窗口、文档、网页各种高度的精确理解
Jul 02 Javascript
Javascript中的arguments与重载介绍
Mar 15 Javascript
jQuery+HTML5加入购物车代码分享
Oct 29 Javascript
深入解析AngularJS框架中$scope的作用与生命周期
Mar 05 Javascript
vue中使用vue-router切换页面时滚动条自动滚动到顶部的方法
Nov 28 Javascript
浅析vue深复制
Jan 29 Javascript
layer弹出层 iframe层去掉滚动条的实例代码
Aug 17 Javascript
vue-router的使用方法及含参数的配置方法
Nov 13 Javascript
详解基于mpvue微信小程序下载远程图片到本地解决思路
May 16 Javascript
Vue开发环境中修改端口号的实现方法
Aug 15 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
thinkPHP的Html模板标签使用方法
2012/11/13 PHP
php三维数组去重(示例代码)
2013/11/26 PHP
PHP中的随机性 你觉得自己幸运吗?
2016/01/22 PHP
PHP实现自动识别原编码并对字符串进行编码转换的方法
2016/07/13 PHP
Javascript 判断 object 的特定类转载
2007/02/01 Javascript
用JS判别浏览器种类以及IE版本的几种方法小结
2011/08/02 Javascript
NodeJS学习笔记之Http模块
2015/01/13 NodeJs
本人自用的global.js库源码分享
2015/02/28 Javascript
总结JavaScript三种数据存储方式之间的区别
2016/05/03 Javascript
javascript实现将数字转成千分位的方法小结【5种方式】
2016/12/11 Javascript
防止重复发送 Ajax 请求
2017/02/15 Javascript
引入JavaScript时alert弹出框显示中文乱码问题
2017/09/16 Javascript
在 Node.js 中使用原生 ES 模块方法解析
2017/09/19 Javascript
VUE 组件转换为微信小程序组件的方法
2019/11/06 Javascript
Python中字符串的格式化方法小结
2016/05/03 Python
Python中的__slots__示例详解
2017/07/06 Python
python3连接MySQL数据库实例详解
2018/05/24 Python
Pandas 数据处理,数据清洗详解
2018/07/10 Python
Python日期时间模块datetime详解与Python 日期时间的比较,计算实例代码
2018/09/14 Python
Python批量删除只保留最近几天table的代码实例
2019/04/01 Python
使用python实现mqtt的发布和订阅
2019/05/05 Python
快速解决docker-py api版本不兼容的问题
2019/08/30 Python
使用Python画出小人发射爱心的代码
2019/11/23 Python
python中resample函数实现重采样和降采样代码
2020/02/25 Python
浅谈python 中的 type(), dtype(), astype()的区别
2020/04/09 Python
Python语言编写智力问答小游戏功能
2020/10/13 Python
html5 canvas里绘制椭圆并保持线条粗细均匀的技巧
2013/03/25 HTML / CSS
Marc Jacobs官方网站:美国奢侈品牌
2017/08/29 全球购物
婴儿鞋,独特的婴儿服装和配件:Zutano
2018/11/03 全球购物
品恩科技软件测试面试题
2014/10/26 面试题
重写子类方法时,抛出异常的书写注意事项
2015/10/17 面试题
党性教育心得体会
2014/09/03 职场文书
2016年会开场白台词
2015/06/01 职场文书
python requests模块的使用示例
2021/04/07 Python
Vue实现跑马灯样式文字横向滚动
2021/11/23 Vue.js
Vue2项目中对百度地图的封装使用详解
2022/06/16 Vue.js