ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
什么是json,json是一种数据格式,例如图片切换,有图片,有文字,之前的做法是存在数组里,json更好一点 *** ### 语法及遍历 ~~~ <script> var json = {'name1':'张三','name2':'李四'} for(attr in json){ alert(attr + " " + json[attr]); } </script> ~~~ 课堂回顾练习:图片切换(使用json存路径和文字描述) 课堂练习-1:省市联动(二维数组,json) *** ### 数组添加元素 ~~~ <script> var arr = [1,2,3]; // arr.push(4);//将4添加到数组的最后面 // alert(arr.push(4));//返回4,4是长度还是元素? alert(arr.push('abc'));//返回还是4 // push的确是添加元素,但是返回值是长度 // 在数组前面添加 // arr.unshift(0); // alert(arr);//0,1,2,3 alert(arr.unshift(0));//依旧返回长度,IE6,7不支持返回值 </script> ~~~ ### 数组删除元素 ~~~ <script> var arr = ['张三','李四','王五','赵六','田七']; // arr.pop();//扔掉最后一个元素 // alert(arr.pop());//返回扔掉的元素 // arr.shift();//扔掉第一个元素 alert(arr.shift());//依然返回扔掉的元素 </script> ~~~ ### splice方法 ~~~ <script> //splice有删除、替换、添加功能 var arr = ['张三','李四','王五','赵六','田七']; //删除第0位,删除1个,从第几个干掉几个 // arr.splice(0,1);//'李四','王五','赵六','田七' // 替换 // arr.splice(0,1,'leo');//'leo','李四','王五','赵六','田七' // arr.splice(0,2,'leo');//'leo','王五','赵六','田七' // 添加 // arr.slice(1,0,'周八');//'张三','周八','李四','王五','赵六','田七' // 第二个参数如果是1,会把李四干掉,添加可以多个 // alert(arr.splice(0,2));//返回删除掉的俩 // alert(arr.splice(0,2,'aaa'));//依旧返回删除的俩 </script> ~~~ *** ### 数组的去重 ~~~ <script> var arr = [1,2,2,4,2]; for(var i = 0;i <arr.length;i++){ for(var j = i + 1;j < arr.length;j++){ if(arr[i] == arr[j]){ arr.splice(j,1);//会去修改数组长度,循环会减少 j--; } } } alert(arr); </script> ~~~ ### 随机排序(打乱) ~~~ <script> var arr = [1,2,3,4,5,6,7,8]; arr.sort(function (a,b) { return Math.random() - 0.5; }); alert(arr); </script> ~~~ *** 课堂练习-2:随机切换广告 ![](https://box.kancloud.cn/ce15a129da37b14a3725162cc8c6712a_228x220.gif) ~~~ <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style> *{padding:0;margin:0;} ul,li{list-style: none;} ul{width: 220px;margin:200px auto;} li{ width: 100px; height: 50px; float:left; margin-right: 10px;margin-bottom: 5px; overflow: hidden; position: relative; } div{ width: 100px; font-size: 0; position: absolute; left:0; top:0; } </style> <script src="js/neusoft.js" type="text/javascript" charset="utf-8"></script> <script type="text/javascript"> window.onload = function(){ var aLi = document.getElementsByTagName('li'); for(var i = 0;i < aLi.length;i++){ imgTab(aLi[i]); } function imgTab(li){ var oDiv = li.getElementsByTagName('div')[0]; oDiv.tab = setInterval(function(){ oDiv.target = parseInt(getStyle(oDiv,'top')) == -50?0:-50; doMove(oDiv,'top',10,oDiv.target); },(Math.random()*4+1)*1000); } } </script> </head> <body> <ul> <li> <div id=""> <img src="img/1.jpg" alt="" /> <img src="img/2.jpg" alt="" /> </div> </li> <li> <div id=""> <img src="img/3.jpg" alt="" /> <img src="img/4.jpg" alt="" /> </div> </li> <li> <div id=""> <img src="img/5.jpg" alt="" /> <img src="img/6.jpg" alt="" /> </div> </li> <li> <div id=""> <img src="img/7.jpg" alt="" /> <img src="img/8.jpg" alt="" /> </div> </li> <li> <div id=""> <img src="img/9.jpg" alt="" /> <img src="img/10.jpg" alt="" /> </div> </li> <li> <div id=""> <img src="img/11.jpg" alt="" /> <img src="img/12.jpg" alt="" /> </div> </li> <li> <div id=""> <img src="img/13.jpg" alt="" /> <img src="img/14.jpg" alt="" /> </div> </li> <li> <div id=""> <img src="img/15.jpg" alt="" /> <img src="img/16.jpg" alt="" /> </div> </li> </ul> </body> </html> ~~~ 拓展练习:消除表情小游戏 ![](https://box.kancloud.cn/e0ac071a4bca4fcb226f55af2d7128b1_1010x639.gif) *** [图片素材下载](https://pan.baidu.com/s/11Luvx0SiX71Zk01lpSUS_g)