众所周知的局域网聊天软件

众所周知,局域网聊天软件 是对JavaScript的一种高效的封装,所以Jquery要操作的数组即是JavaScript中的数组,在JavaScript中我们使用for以及for-in进行数组的操作,而在Jquery中则使用$.map()、$.each()来操作数组:

 

首先是普通的数组(索引为整数的数组): $.map(arr,fn); 对数组中的每个元素调用fn函数逐个进行处理,fn函数将处理返回最后得到的一个新的数组 view sourceprint?1 var arr = [9, 8, 7, 6, 5, 4, 3, 2, 1]; 2 var newarr = $.map(arr, function(item) {return item*2 }); 3 alert(newarr); $.each(array,fn)对数组array每个元素调用fn函数进行处理,没有返回值 view sourceprint?1 var arr = [9, 8, 7, 6, 5, 4, 3, 2, 1]; 2 $.each(arr, function(key, value) { alert("key:" + key + "value:" + value); }); 还可以省略function的参数,这个时候this可以得到遍历的当前元素的值 view sourceprint?1 var arr = [9, 8, 7, 6, 5, 4, 3, 2, 1]; 2 $.each(arr, function() { alert(this); }); 然后是索引为字符串的 键值对数组,针对这类数组, 一般采用$.each(array,fn)来操作: view sourceprint?1 var arr = { "jim": "11", "tom": "12", "lilei": "13" }; 2 $.each(arr, function(key, value) { alert("姓名:"+key+"年龄:"+value); }); 当然也可以使用无参的的function进行遍历;

 

 

当这类数据从服务器端获取时可以如下进行: 服务器端: view sourceprint?01 <%@ WebHandler Language="C#" Class="Handler" %> 02 03 using System; 04 using System.Web; 05 using System.Web.Script.Serialization; 06 using System.Collections.Generic; 07 public class Handler : IHttpHandler { 08 09 public void ProcessRequest (HttpContext context) { 10 context.Response.ContentType = "text/plain"; 11 Person p1 = new Person { Age = "22", Name = "tom" }; 12 Person p2 = new Person { Age = "23", Name = "jim" }; 13 Person p3 = new Person { Age = "24", Name = "lilei" }; 14 IList persons = new List {p1,p2,p3}; 15 JavaScriptSerializer js = new JavaScriptSerializer(); 16 string s= js.Serialize(persons); 17 context.Response.Write(s); 18 } 19 20 public class Person 21 { 22 public string Name { get; set; } 23 public string Age { get; set; } 24 } 25 public bool IsReusable { 26 get { 27 return false; 28 } 29 } 30 31 } 先实例化了三个person对象,然后放到一个集合中,最后把这个集合序列化成字符串流到客户端; 客户端: view sourceprint?01 02 03 04 05 06 07 08 15 16 17 18 19 客户端通过$.parseJSON()将后台传递过来的字符串转化为js数组对象,接下来我们就使用操作普通数组的方式来操作这个得到的数组 第三种就是通过标签选择器获取的Jquery对象数组, view sourceprint?01 02 03 04 05 06 07 08 13 14 15

 

16

 

 

 

 

17

 

18 19 在浏览器中运行的效果为: 在dom加载完成后为每一个p元素动态的添加了文本,首先$("p")获取p标签的集合,相当于Javascript中的document.getElementByTagName只是这里得到的是Jquery对象的数组,这样就有了Jquery固有的隐式迭代的功能,后面的text("这是p标签")的操作就迭代到了每一个P标签上,我们也可以显示的调用each函数来显示的迭代获得的Jquery对象数组,下面的代码同样可以实现上面的效果: view sourceprint?01 02 03 04 05 06 07 08 15 16 17

 

18

 

 

 

 

19

 

20 21

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值