error : 自定义错误

parseJSON : 字符串转json

trim : 去除字符串头尾空字符

parseJSON方法先判断参数是否为字符串,否则返回空对象,再去除字符串头尾空字符,判断是否支持window.JSON.parse,否则使用json2.js中的方法。

var core_trim = String.prototype.trim,// Make sure we trim BOM and NBSP (here's looking at you, Safari 5.0 and IE)rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,// JSON RegExprvalidchars = /^[\],:{}\s]*$/,rvalidbraces = /(?:^|:|,)(?:\s*\[)+/g,rvalidescape = /\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,rvalidtokens = /"[^"\\\r\n]*"|true|false|null|-?(?:\d\d*\.|)\d+(?:[eE][\-+]?\d+|)/g;jQuery.extend({......................error: function( msg ) {throw new Error( msg );},parseJSON: function( data ) {if ( !data || typeof data !== "string") {return null;}// Make sure leading/trailing whitespace is removed (IE can't handle it)data = jQuery.trim( data );// Attempt to parse using the native JSON parser firstif ( window.JSON && window.JSON.parse ) {return window.JSON.parse( data );}// Make sure the incoming data is actual JSON// Logic borrowed from http://json.org/json2.jsif ( rvalidchars.test( data.replace( rvalidescape, "@" ).replace( rvalidtokens, "]" ).replace( rvalidbraces, "")) ) {return ( new Function( "return " + data ) )();}jQuery.error( "Invalid JSON: " + data );},// Use native String.trim function wherever possibletrim: core_trim && !core_trim.call("\uFEFF\xA0") ?function( text ) {return text == null ?"" :core_trim.call( text );} :// Otherwise use our own trimming functionalityfunction( text ) {return text == null ?"" :( text + "" ).replace( rtrim, "" );},...............});

转载于:https://www.cnblogs.com/gongshunkai/p/5902078.html

jquery工具方法parseJSON相关推荐

  1. jQuery$工具方法及其属性

    ---目录--- 1.jQuery工具方法: 2.jQuery属性: 3.jQuery隔行换色案例: 4.jQuery全选功能案例: 一.$工具方法 1.1 我们来看看用$工具方法[$.each()] ...

  2. jQuery工具方法

    目录 常用工具方法 判断数据类型的方法 Ajax操作 $.ajax 简便写法 Ajax事件 返回值 JSONP 文件上传 参考链接 jQuery函数库提供了一个jQuery对象(简写为$),这个对象本 ...

  3. jQuery 工具方法 (全)

    下面是对jQuery中工具方法的整理,希望可以帮助到有需要的小伙伴. 一.类数组对象 1.length属性 length属性 - 获取当前jQuery对象中包含DOM对象的个数 实例: <!DO ...

  4. jQuery笔记之工具方法extend插件扩展

    jQuery工具方法 $.extend()插件扩展(工具方法) $.fn.extend()插件扩展(实例方法) 浅度克隆.深度克隆 两个方法基本是一样的,唯一不同的就是调用方式不一样 -------- ...

  5. jQuery常用工具方法

    前面的话 jQuery提供一些与元素无关的工具方法,不必选中元素,就可以直接使用这些方法.如果理解原生javascript的继承原理,那么就能理解工具方法的实质.它是定义在jQuery构造函数上的方法 ...

  6. jQuery的$工具方法和属性

    目录 一.思维导图 一.jQuery的$工具方法 二 .jQuery属性和CSS 一.思维导图 我是小陽,欢迎大家来看我的文章.我们先看一下思维导图来理一下思路,然后在进入方法讲解 一.jQuery的 ...

  7. JQuery操作类数组的工具方法

    JQuery学习之操作类数组的工具方法 在很多时候,JQuery的$()函数都返回一个类似数据的JQuery对象,例如$('div')将返回div里面的所有div元素包装的JQuery对象.在这中情况 ...

  8. 第三章:JQuery基础---核心函数选择器、工具方法

    一:是什么?以及作用 定义:有特定语法规则(css选择器)的字符串    作用:用来查找某个/些DOM元素: $(selector) 二:基本选择器(最基本最常用的选择器) id选择器:#id     ...

  9. jQuery本身方法($.each,$.map,$.contains,$ajax)

    常用工具方法 (1)$.trim $.trim方法用于移除字符串头部和尾部多余的空格. $.trim(' Hello ') // Hello (2)$.contains $.contains方法返回一 ...

最新文章

  1. ORM读取web.config中的数据库连接字符串
  2. 已知先序遍历和中序遍历,输出他的后序遍历序列.
  3. linux arecord 命令,如何使用arecord录音
  4. 中小微企业谋定发展-国情讲坛·周荣江: 破解民营经济融资难
  5. 进程P1、P2、P3、P4和P5的前趋图如下图所示。若用PV操作控制进程P1~P5并发执行的过程,则需要设置6个信号S1、S2、S3、S4,且信号量S1~S4的初值都等于0。下图中a和b处应分别填写(
  6. 95-138-010-源码-Function-AggregateFunction
  7. (万里开源)greatdb mysql 8.0以上版本创建用户并授权远程连接
  8. 开奖|1024中奖名单公布以及Postman资料分享
  9. Java中J.U.C扩展组件之Fork,join
  10. SQLserver nText和varchar 不兼容
  11. vue package.json 解析
  12. flutter html 加载_实操 | 在 Flutter 中创建通信桥
  13. 微信支付获取用户真实ip
  14. Python学习笔记-2017.5.4thon学习笔记-2017.5.19
  15. Word设置默认粘贴格式,自动更改粘贴格式
  16. 火车售票系统(设计模式分析)
  17. 怎样用MATLAB画二次函数曲线,matlab画二次函数图像
  18. scrapy爬虫之爬取百度手机助手app信息并保存至mongodb数据库(附源码)
  19. C语言goto语句 做一个自动关机小程序 —— 给小伙伴来个“恶作剧”吧
  20. 《支付系统-3交易系统》

热门文章

  1. MySQLzip压缩文件格式安装教程
  2. “use strict” 严格模式使用(前端基础系列)
  3. 编程之美读书笔记之-高效率的安排见面会
  4. 1198. Jobbery
  5. 浏览器和服务器交互原理?(请求--响应的过程)
  6. Python 分布式文件系统 Mongodb GridFS
  7. 发现读纸质媒介比电子媒介的乐趣大多了
  8. 诗与远方:无题(十四)
  9. Vue 自定义组件 —— slot插槽
  10. Java fianl关键字的理解