jquery怎样向json中的object添加键值对(元素)?

jquery怎样向json中的object添加键值对(元素)?,第1张

jquery对json 键值对或数组的增加、删除、遍历 *** 作的代码如下:

var jsonStr={}

//增加jsonStr["name1"]="yu"jsonStr["name2"]="jin"jsonStr["name3"]="sheng"

$.each(jsonStr,function(_key)

{    console.log("Push结果:"+_key+"=="+jsonStr[_key]+"\r\n")})

//遍历$.each(jsonStr,function(_key)

{    var key = _key

var value = jsonStr[_key] 

if(_key=="name1")

{  //删除       delete jsonStr[_key]

}

})

$.each(jsonStr,function(_key){    console.log("删除后的结果:"+_key+"=="+jsonStr[_key]+"\r\n")

})

输出结果为:

扩展资料:

jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(或JavaScript框架)。

jQuery设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情。它封装JavaScript常用的功能代码,提供一种简便的JavaScript设计模式,优化HTML文档 *** 作、事件处理、动画设计和Ajax交互。

jQuery的核心特性可以总结为:具有独特的链式语法和短小清晰的多功能接口;具有高效灵活的css选择器,并且可对CSS选择器进行扩展;拥有便捷的插件扩展机制和丰富的插件。jQuery兼容各种主流浏览器,如IE 6.0+、FF 1.5+、Safari 2.0+、Opera 9.0+等。

jQuery的模块可以分为3部分:入口模块、底层支持模块和功能模块。

在构造jQuery对象模块中,如果在调用构造函数jQuery()创建jQuery对象时传入了选择器表达式,则会调用选择器Sizzle(一款纯JavaScript实现的CSS选择器引擎,用于查找与选择器表达式匹配的元素集合)遍历文档,查找与之匹配的DOM元素,并创建一个包含了这些DOM元素引用的jQuery对象。

浏览器功能测试模块提供了针对不同浏览器功能和bug的测试结果,其他模块则基于这些测试结果来解决浏览器之间的兼容性问题。

在底层支持模块中,回调函数列表模块用于增强对回调函数的管理,支持添加、移除、触发、锁定、禁用回调函数等功能。

异步队列模块用于解耦异步任务和回调函数,它在回调函数列表的基础上为回调函数增加了状态,并提供了多个回调函数列表,支持传播任意同步或异步回调函数的成功或失败状态。

数据缓存模块用于为DOM元素和Javascript对象附加任意类型的数据;队列模块用于管理一组函数,支持函数的入队和出队 *** 作,并确保函数按顺序执行,它基于数据缓存模块实现。

参考资料:

百度百科--jQuery

不是有个构造函数extend么,可以自行添加方法。如:

//给对象添加新的方法。

function extend(object, data){

for(var key in data){

object[key] = data[key]

}

return object

}再或者用原生JS给web元素绑定事件

//绑定事件

function addEvent(el,evname,func){

if(el.attachEvent){

el.attachEvent("on"+evname,func)

}else if(el.addEventListener){

el.addEventListener(evname,func,true)

}else{

el["on"+evname]=func

}

}//解除绑定

function delEvent(el,evname,func){

if(el.removeEventListener){

el.removeEventListener(evname,func,false)

}else if(el.detachEvent){

el.detachEvent("on"+evname,func)

}else{

el["on"+evname]=null

}

}

注意:在javascript语言中,key的值只能是字符串,不能是其它的。

在javascript中,对象本身就是一种Map结构。

var map = {}

map['key1'] = 1

map['key2@'] = 2

console.log(map['key1'])//结果是1.

console.log(map['key2@'])//结果是2.

//如果遍历map

for(var prop in map){

if(map.hasOwnProperty(prop){

console.log('key is ' + prop +' and value is' + map[prop])

}

}

动态的赋值key:

var key1 = '动态key1'

var key2 = '动态key2'

var map = {}

map[key1] = 1

map[key2] = 2

console.log(map[key1])//结果是1.

console.log(map[key2])//结果是2.

//如果遍历map

for(var prop in map){

if(map.hasOwnProperty(prop){

console.log('key is ' + prop +' and value is' + map[prop])

}

}

扩展资料

JavaScript是一种脚本语言,其源代码在发往客户端运行之前不需经过编译,而是将文本格式的字符代码发送给浏览器由浏览器解释运行。

直译语言的弱点是安全性较差,而且在JavaScript中,如果一条运行不了,那么下面的语言也无法运行。而其解决办法就是于使用try{}catch(){}︰

console.log("a")//这是正确的

console.log("b")//这是正确的

console.logg("c")//这是错误的,并且到这里会停下来

console.log("d")//这是正确的

console.log("e")//这是正确的

/*解决办法*/

try{console.log("a")}catch(e){}//这是正确的

try{console.log("b")}catch(e){}//这是正确的

try{console.logg("c")}catch(e){}//这是错误的,但是到这里不会停下来,而是跳过

try{console.log("d")}catch(e){}//这是正确的

try{console.log("e")}catch(e){}//这是正确的

Javascript被归类为直译语言,因为主流的引擎都是每次运行时加载代码并解译。

V8是将所有代码解译后再开始运行,其他引擎则是逐行解译(SpiderMonkey会将解译过的指令暂存,以提高性能,称为实时编译)。

但由于V8的核心部份多数用Javascript撰写(而SpiderMonkey是C++)。因此在不同的测试上,两者性能互有优劣。

与其相对应的是编译语言,例如C语言,以编译语言编写的程序在运行之前,必须经过编译,将代码编译为机器码,再加以运行。

参考资料来源:百度百科:javascript


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/7920869.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-11
下一篇 2023-04-11

发表评论

登录后才能评论

评论列表(0条)

保存