jQuery.extend(
{
/**
* @see 将json字符串转换为对象
* @param json字符串
* @return 返回object,array,string等对象
*/
evalJSON : function (strJson)
{
return eval( "(" + strJson + ")");
}
});
jQuery.extend(
{
/**
* @see 将javascript数据类型转换为json字符串
* @param 待转换对象,支持object,array,string,function,number,boolean,regexp
* @return 返回json字符串
*/
toJSON : function (object)
{
var type = typeof object;
if ('object' == type)
{
if (Array == object.constructor)
type = 'array';
else if (RegExp == object.constructor)
type = 'regexp';
else
type = 'object';
}
switch(type)
{
case 'undefined':
case 'unknown':
return;
break;
case 'function':
case 'boolean':
case 'regexp':
return object.toString();
break;
case 'number':
return isFinite(object) ? object.toString() : 'null';
break;
case 'string':
return '"' + object.replace(/(\\|\")/g,"\\$1").replace(/\n|\r|\t/g,
function(){
var a = arguments[0];
return (a == '\n') ? '\\n':
(a == '\r') ? '\\r':
(a == '\t') ? '\\t': ""
}) + '"';
break;
case 'object':
if (object === null) return 'null';
var results = [];
for (var property in object) {
var value = jQuery.toJSON(object[property]);
if (value !== undefined)
results.push(jQuery.toJSON(property) + ':' + value);
}
return '{' + results.join(',') + '}';
break;
case 'array':
var results = [];
for(var i = 0; i < object.length; i++)
{
var value = jQuery.toJSON(object[i]);
if (value !== undefined) results.push(value);
}
return '[' + results.join(',') + ']';
break;
}
}
});
/**
示例:
var obj = {
name : "sean",
friend : ["fans","bruce","wawa"],
action : function(){alert("gogogog")},
boy : true,
age : 26,
reg : /\b([a-z]+) \1\b/gi,
child : {
name : "none",
age : -1
}
};
var json = $.toJSON(obj);
var objx = $.evalJSON(json);
*/
分享到:
相关推荐
jquery.json-2.3.min.js和jquery.json-2.3.js jQuery为开发插件提拱了两个方法,分别是:jQuery.extend(object); 为扩展jQuery类本身 jQuery.fn.extend(object);给jQuery对象添加方法。
**jQuery.extend()与JSON** `jQuery.extend()`方法用于合并两个或更多的对象,创建一个新的对象。在处理JSON数据时,可以用来合并多个JSON对象。例如: ```javascript var obj1 = { name: "John" }; var obj2 = { ...
结合标签"jquery"和"jqueryJSON",我们可以推断这个压缩包可能是为了一个涉及jQuery和JSON处理的项目或者教程准备的。开发者可能需要这两个文件来实现动态网页的交互功能,如获取和发送JSON格式的数据,以及在页面上...
jQuery 3.3.1还包含了一些实用工具方法,如`.each()`用于遍历集合,`.extend()`用于对象合并,`.trim()`用于字符串去空格,以及`.data()`用于在元素上存储和检索数据。 总结 jQuery 3.3.1作为一款成熟的JavaScript...
1. **DOM操作**:jQuery提供了$.fn.extend()方法用于扩展jQuery对象,使得我们可以自定义插件。如`$('selector').html()`用于设置或获取元素的HTML内容,`$('selector').append()`则用于在元素末尾添加内容。 2. **...
- 数据操作:$.extend()用于对象的合并,$.parseJSON()解析JSON字符串为JavaScript对象。 总的来说,jQuery 2.0.3是现代Web开发中的重要工具,结合vsdoc.js能提供完善的开发体验。无论你是初学者还是经验丰富的...
`$.fn.extend()`则是扩展jQuery对象的方法,是创建自定义插件的基础。 9. **版本兼容性**:jQuery 3.x版本放弃了对旧版IE浏览器的支持,提高了性能并遵循了最新的JavaScript标准,更适合现代浏览器环境。 在实际...
此外,jQuery还提供了$.extend()方法,用于合并两个或更多对象的属性。在处理JSON数据时,这个方法可以方便地将新接收到的数据与现有数据合并,避免覆盖原有数据,或者根据需求进行选择性更新。 在安全方面,jQuery...
10. **工具**:jQuery工具集包括实用函数,如`$.each()`, `$.extend()`, `$.trim()`, 和 `$.inArray()`,这些函数可增强代码的可读性和效率。 通过这份手册,开发者可以深入了解jQuery的各种功能和用法,从而高效地...
此外,jQuery还提供了许多实用的工具方法,如$.parseJSON()用于手动解析JSON字符串,$.extend()用于合并两个或多个对象,以及$.ajax()作为更通用的异步请求方法,允许自定义更多请求选项。 总结来说,jQuery 3.3.1...
例如,$(selector)用于选取DOM元素,$.ajax()用于异步数据请求,$.each()用于遍历数组或对象,$.fn.extend()用于扩展jQuery对象的方法等。 三、jQuery 1.8.3.min.js的应用场景 1. **DOM操作**:jQuery简化了DOM...
`$.fn.extend()`可以扩展jQuery对象,实现自定义动画。 **Ajax** 功能让jQuery能轻松实现异步数据交互。`.ajax()`是核心方法,支持GET和POST请求,还有`.load()`、`.getJSON()`等简化的API。`.ajaxStart()`和`....
1. **jQuery 插件开发**:jQuery插件是扩展jQuery功能的一种方式,通常包含一个函数,可以通过$.fn.extend()方法将其添加到jQuery原型链上,使得所有jQuery对象都能访问。 2. **CSS3 转换(Transform)**:允许元素...
此外,还可以通过分析`each()`方法理解jQuery如何遍历元素集合,以及`extend()`方法如何实现对象的合并和深拷贝。 在实践过程中,编写小例子是提升技能的有效途径。比如,可以尝试实现一个简单的页面滚动动画,利用...
4. **Ajax**:`.ajax()`, `.getJSON()`, `.load()`等方法简化了异步数据请求,`.serialize()`用于序列化表单数据。 5. **实用工具**:`.each()`, `.extend()`, `.map()`, `.grep()`等函数提供了强大的数据处理和扩展...
在本文中,我们将深入探讨jQuery API,特别是针对`jquery--api`所提及的1.2.6版本。 一、jQuery基础 1. **选择器**:jQuery 的核心在于其强大的选择器功能,它可以方便地选取HTML元素。例如,`$("#id")`选取ID为id...
- **扩展jQuery对象(Extending jQuery Object)**: 可以通过`.extend()`方法为jQuery增加新的方法或属性,实现自定义功能。 - **插件结构(Plugin Structure)**: 通常包括封装的函数、可选参数、以及内部逻辑。 ...
1. **组件实现**:源码揭示了组件如何通过jQuery扩展实现,如通过$.fn.extend()定义插件方法,以及如何通过数据属性(data-*)和类名(class)来识别和控制元素。 2. **DOM操作**:源码中大量使用jQuery的DOM操作,...
例如,使用$.extend()方法可以创建自定义的插件,进一步提升项目的可维护性和复用性。 总之,“jquery-1.7.1”是一个强大的JavaScript工具库,它简化了前端开发中的许多繁琐任务,提升了代码的可读性和执行效率。...
你可以通过`$.fn.extend()`方法创建自己的插件,或者直接使用社区已有的成熟插件,如Bootstrap、jQuery UI等。 **学习建议** 对于初学者,建议从理解基础选择器和DOM操作开始,然后逐步接触事件处理和动画。随着对...