Python web前端 08 字符串 数组 json
一、string
#string 字符串 #索引 下标 偏移量 ---从0开始 str[index]; #通过索引取字符串 可读不可写 str.length; #获取长度,包括空格在内 var str="asdadawdsad" console.log(str[6]); #输出a 表示可读 str[6]="c";#报错,表示不可写 value.toString(); #转换字符串 var a = 123; console.log(a.toString());#将number123转化为字符串123 str.substring(); #截取字符串,比较参数值的大小,小的参数在前面,负数变为0 var str="nishishuinizaina" console.log(str.substring(6,3));#打印出 his,左闭右开 console.log(str.substring(-2,3));#打印出 nis 负数变成0,索引0-3的字符串 str.slice(); #切片,不会交换位置,负数从右向左数 var str="nishishuinizaina" console.log(str.slice(3,6));#索引3-5的字符串 console.log(str.slice(-5,-2));#从右到左2-5 str.split(); #字符串切割,返回数组 var str="你是谁 你在哪里 你在搞什么" console.log(str.split("你"));#以“你”为边界切割,结果是一个数组["","是谁","在哪里","在搞什么"] str.indexOf(); #查找字符串,成功返回索引,反之返回-1 var str="nishishuinizaina" console.log(str.indexOf("s"));#默认只会找第一个,返回2 console.log(str.indexOf("s",5));#从索引第5位开始找 console.log(str.indexOf("w"));#没有找到,返回-1 str.toUpperCase(); #全部转化为大写 str.toLowerCase(); #全部转化为小写 var str="Nishishuinizaina" console.log(str.toUpperCase());#全部转化为大写 console.log(str.toLowerCase());#全部转化为小写
二、数组
#数组 主要存放数据的 var arr=["lucky","tuple","xiaopo"]; #以创建对象的形式创建数组 var arr1=new Array(); arr1[0]="xiaopo"; arr1[1]="jianeng"; arr1[2]="which";#以上两种方法都可以创建数组 arr.length #查看数组的个数 console.log(arr.length);#返回3 arr[] #可读可写 arr[0]="jianeng" #可以替换为"jianeng" 表示字符串可写 var arr2=[6,8,[4,5,9]]; console.log(arr2[2][2]);#这样便可以去到内嵌数组的第2位数字9 arr.push #在后面添加 arr.push("which");#可同时添加1个或多个,用“,”隔开 console.log(arr);#返回["lucky","tuple","xiaopo","which"] arr.unshift() #在前面添加 arr.unshift("lalala");#可同时添加1个或多个,用“,”隔开 console.log(arr);#返回["lalala","lucky","tuple","xiaopo","which"] arr.pop() #删除数组的最后一个 arr.pop(); console.log(arr);#返回["lalala","lucky","tuple","xiaopo"] arr.shift() #删除数组的第一个 arr.pop(); console.log(arr);#返回["lucky","tuple","xiaopo"] arr.splice() #(3)数组的长度;(0,1)从第0位开始删除1个,返回删除的那个;(2,3,'a')从第二位开始后三位全部替换为a;(2,0,'a')第二位开始前面插入a arr.splice(2); console.log(arr);#数组只能留下前面的2位,也就是["lucky","tuple"] arr.splice(1,2); console.log(arr);#数组删除第1位开始的2个,返回被删除的["tuple","xiaopo"] arr.splice(1,2,'a'); console.log(arr);#数组从第1位开始的两位替换为"a",返回["lucky","a"] arr.splice(1,0,'a'); console.log(arr);#数组在第1位前面插入'a',返回["lucky","a","tuple","xiaopo"],0代表不删除 arr.sort() #顺序来排序 arr.reverse()#倒序来排序 var arr2=[1,-9,-5,8,4,6]; console.log(arr2.sort()); #[-5,-9,1-4-6-8]这个按照ascll码排序,所以-5最前面 arr2.sort(function(a,b){ return a-b;})#这样就可以得到数字意义上的从小到大;return b-a就是从大到小;return 1 是倒序;return 0 是顺序 arr.join('a') #以'a'为界限拼接字符串
三、时间对象
var data=new Date(); var strap=data*1;#得到时间戳 console.log(strap); var strap=data.getTime();#这种方法也可以得到时间戳 console.log(strap); var year=data.getFullYear();#年 var mouth=data.getMouth()+1;#获取月份,取值为0-11之间的整数 var date=data.getDate();#日 var hour=data.getHours();#小时 var min=data.getMinutes();#分钟 var sec=data.getSeconds();#秒 var day = data.getDay();#获取周几,取值为0-6之间的整数 document.body.innerHTML=year + "年" + mouth + "月"+ date+"日"+hour+"时"+min+"分"+sec+"秒" +"星期"+day;
四、定时器
#延时定时器,2000毫秒后执行一次且只执行一次 setTimeout(函数,时间);#可以在外面封装一个函数,在放进来,放在里面来不能加括号 setTimeout(function(){ console.log(1); },2000);#后面的2000代表2000毫秒,1000ms=1s #隔1000毫秒一直不停的执行 setInterval(function(){ console.log(2); },1000);
清除(关闭)定时器
#定时器的清除 var aTime=document.getElementById("time");#获取时间 var num=5;#定义定时的秒数 var time;#定时器 time = setInterval(function(){#前面的time为后面的关闭定时器做准备,=后面的为定时器 num--;#没过1秒num-1 aTime.innerHTML=num+"s";#网页上面的时间变为实际的num加上s if(num===1){#当num为1s的时候 clearInterval(time);#清除定时器 window.location.href="http://www.baidu.com";#利用window的跳转,跳到百度 } },1000);#隔1s
五、json
#json 就是轻量级的数据交互格式,它实际上在传输的时候都是字符串 # 一种交互的格式,所有的语言基本上都有字符串,可以传递 #js对象:是一种js数据类型,是js特有的,无法传递交互数据 var obj={"name":"xiaopo","age":18}; #这是个对象 var obj1='{"name":"xiaopo","age":18}'; #字符串,实际工作中就是json JSON.stringfy(obj);#用这种方法也可以将js对象转化为json #json语法规则: #1、json数据格式的属性(键和字符串)的值都是双引号 #2、值:整数、浮点数(小数)、字符串、布尔、数组、对象(除了undefined和NaN) #json用js定义 #通过字符串来定义 var obj='{"name":"xiaopo"}'; #通过js对象来定义,最后传输的时候将对象转换为字符串 var obj={"name":"xiaopo"}; JSON.stringfy(obj) #json字符串解析JS对象 var obj1='{"name":"xiaopo","age":18};' var obj2=JSON.parse(obj1); #通过这一步将字符串解析为JS对象 console.log(obj2); console.log(typeof obj2);
for in
var obj={"name":"xiaopo","age":18,"gender":"woman"}; #现在想要属性名字 console.log(obj.name); #如果想要所有的值,这就可以使用for in for(var key in obj){ console.log(key);#输出name、age、gender console.log(key,obj[key]); #这就可以遍历所有的键、值;key是{}里的属性名称,obj[key] {}里面属性的值 }