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 HashTable
Jan 22 Javascript
jquery入门—编写一个导航条(可伸缩)
Jan 07 Javascript
JS+CSS实现弹出全屏灰黑色透明遮罩效果的方法
Dec 20 Javascript
深入理解JavaScript系列(44):设计模式之桥接模式详解
Mar 04 Javascript
JavaScript使用yield模拟多线程的方法
Mar 19 Javascript
ajax+jQuery实现级联显示地址的方法
May 06 Javascript
javascript实现很浪漫的气泡冒出特效
Sep 05 Javascript
AngularJs学习第八篇 过滤器filter创建
Jun 08 Javascript
老生常谈combobox和combotree模糊查询
Apr 17 Javascript
Vue的百度地图插件尝试使用
Sep 06 Javascript
微信小程序版本自动更新的方法
Jun 14 Javascript
Windows下安装 node 的版本控制工具 nvm
Feb 06 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 命令行工具 shell_exec, exec, passthru, system详细使用介绍
2011/09/11 PHP
php 目录遍历、删除 函数的使用介绍
2013/04/28 PHP
CodeIgniter采用config控制的多语言实现根据浏览器语言自动转换功能
2014/07/18 PHP
PHP用户注册邮件激活账户的实现代码
2017/05/31 PHP
php 替换文章中的图片路径,下载图片到本地服务器的方法
2018/02/06 PHP
jquery的ajax请求全面了解
2013/03/20 Javascript
JS可以控制样式的名称写法一览
2014/01/16 Javascript
JavaScript中实现单体模式分享
2015/01/29 Javascript
JavaScript常用脚本汇总(一)
2015/03/04 Javascript
javascript 闭包详解
2015/07/02 Javascript
最新最热最实用的15个jQuery插件汇总
2015/07/05 Javascript
移动端jQuery修正Web页面滑动时div问题的两则实例
2016/05/30 Javascript
jQuery选择器总结之常用元素查找方法
2016/08/04 Javascript
常用的9个JavaScript图表库详解
2017/12/19 Javascript
在 Angular中 使用 Lodash 的方法
2018/02/11 Javascript
详解javascript中的变量提升和函数提升
2018/05/24 Javascript
小程序点击图片实现png转jpg
2019/10/22 Javascript
JS的时间格式化和时间戳转换函数示例详解
2020/07/27 Javascript
python 读取目录下csv文件并绘制曲线v111的方法
2018/07/06 Python
python实现百度OCR图片识别过程解析
2020/01/17 Python
关于Python turtle库使用时坐标的确定方法
2020/03/19 Python
解决reload(sys)后print失效的问题
2020/04/25 Python
解决Python paramiko 模块远程执行ssh 命令 nohup 不生效的问题
2020/07/14 Python
python 解决selenium 中的 .clear()方法失效问题
2020/09/01 Python
Django如何使用asyncio协程和ThreadPoolExecutor多线程
2020/10/12 Python
python 基于opencv去除图片阴影
2021/01/26 Python
Python如何telnet到网络设备
2021/02/18 Python
CSS去掉A标签(链接)虚线框的方法
2014/04/01 HTML / CSS
利用css3-animation实现逐帧动画效果
2016/03/10 HTML / CSS
优秀经理事迹材料
2014/02/01 职场文书
高级工程师英文求职信
2014/03/19 职场文书
银行授权委托书样本
2014/10/13 职场文书
婚内分居协议书范文
2014/11/26 职场文书
勤俭节约主题班会
2015/08/13 职场文书
关于党风廉政建设宣传教育月的活动总结!
2019/08/08 职场文书
vue中data里面的数据相互使用方式
2022/06/05 Vue.js