jQuery1.6 使用方法一

  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, "" );

  },