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] {}里面属性的值
}