python学习_day54_前端基础之js
Posted 骑猪走秀
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python学习_day54_前端基础之js相关的知识,希望对你有一定的参考价值。
在JavaScript中除了null和undefined以外其他的数据类型都被定义成了对象,也可以用创建对象的方法定义变量,String、Math、Array、Date、RegExp都是JavaScript中重要的内置对象,在JavaScript程序大多数功能都是基于对象实现的。
一、字符串String对象
1、字符串对象的创建
//方式一:变量 = “字符串” s="HEllo world";
//方式二:字串对象名称 = new String (字符串) a=new String("hello world") ;
2、字符串对象属性及函数
具体罗列如下:
x.length ----获取字符串的长度 x.toLowerCase() ----转为小写 x.toUpperCase() ----转为大写 x.trim() ----去除字符串两边空格 ----字符串查询方法 x.charAt(index) ----通过索引找字符 x.indexOf(findstr) ----通过字符找索引 x.lastIndexOf(findstr) x.match(regexp) ----match返回匹配字符串的数组,如果没有匹配则返回null x.search(regexp) ----search返回匹配字符串的首字符位置索引 示例: var str1="welcome to the world of JS!"; var str2=str1.match("world"); var str3=str1.search("world"); alert(str2[0]); // 结果为"world" alert(str3); // 结果为15 ----子字符串处理方法 x.substr(start, length) ----截取从索引为start开始、长度为length的字符串 x.substring(start, end) ----截取从索引start开始到索引end结束的字符串,不包含索引end的字符 x.slice(start, end) ----切片操作字符串 示例: var str1="abcdefgh"; var str2=str1.slice(2,4); var str3=str1.slice(4); var str4=str1.slice(2,-1); var str5=str1.slice(-3,-1); alert(str2); //结果为"cd“ alert(str3); //结果为"efgh” alert(str4); //结果为"cdefg“ alert(str5); //结果为"fg"
x.replace(findstr,tostr) ----字符串替换 x.split(); ----分割字符串 var str1="一,二,三,四,五,六,日"; var strArray=str1.split(","); alert(strArray[1]);//结果为"二" x.concat(addstr) ----拼接字符串
二、数组Arry对象
1、数组对象的创建
//创建方式1: var 数组名 = [元素0,元素1,….]; // 如:var arr=[1,2,3];
//创建方式2: var 数组名 = new Array(元素0,元素1,….); //如: var arr=new Array(100,"a",true);
//创建方式3: var 数组名 = new Array(长度); var arr=new Array(7); arr[0]="星期日"; arr[1]="星期一"; ... arr[6]="星期六";
2、数组对象的属性和方法
(1)join()方法
将数组拼成字符串:
s=["hello","word"] var ret=s.join("|"); console.log(ret); //结果为:hello|word
(2)concat()方法
用于扩充数组,与python中列表extend()方法不同的是,此方法并不改变原有数组,只是得到一个扩充后的数组副本。
var arr=[11,3.14,true,"hello"]; var ret=arr.concat(444,555); //写成数组形式也可:[444,555] console.log(ret) //结果为:[11, 3.14, true, "hello", 444, 555]
(3)reverse()方法
将现有数组反转,改变现有数据顺序:
var arr=[12,100,23,45]; arr.reverse() console.log(arr); //结果:[45, 23, 100, 12] console.log(arr.toString()) //结果:45,23,100,12
(4)sort()方法
对现有数组顺序按照acssii码的顺序进行重新排序:
var arr=[12,100,23,45]; arr.sort() console.log(arr); //结果为: [100, 12, 23, 45]
上述数字数组按照数字的真实大小进行排序的做法如下:
var arr=[12,100,23,45]; function Mysort(a,b) { return a-b } arr.sort(Mysort) console.log(arr); //[12, 23, 45, 100]
(5)slice()方法
按照索引对数组进行切片,用法和字符串中的此方法一样,示例如下:
var arr1=[‘a‘,‘b‘,‘c‘,‘d‘,‘e‘,‘f‘,‘g‘,‘h‘]; var arr2=arr1.slice(2,4); var arr3=arr1.slice(4); var arr4=arr1.slice(2,-1); alert(arr2.toString()); //结果为"c,d" alert(arr3.toString()); //结果为"e,f,g,h" alert(arr4.toString()); //结果为"c,d,e,f,g"
(6)push()和pop()方法
push是将value值添加到数组x的结尾,value可以为字符串、数字、数组等任何值。pop是将数组x的最后一个元素删除:
var arr3=[111,222,333]; arr3.push(444,555); console.log(arr3); //[111, 222, 333, 444, 555] arr3.push([666,777]) //数组[666,777]作为一个整体放在数组aar3内 console.log(arr3) //[111, 222, 333, 444, 555, Array(2)] var s=arr3.pop(); console.log(arr3); //[111, 222, 333, 444, 555] console.log(s); //[666, 777]
(7)unshift()和shift()
与(6)中的相反,unshift()是将value值添加到数组x的开头,value可以为字符串、数字、数组等任何值。shift是将数组x的第一个元素删除:
var arr3=[111,222,333]; arr3.unshift(555,6666); //多个字符按照原有顺序整体放在数组前头 console.log(arr3); // [555, 6666, 111, 222, 333] s=arr3.shift(); console.log(arr3) //[6666, 111, 222, 333] console.log(s) //555
(8)splice()
x. splice(start, deleteCount, value, ...),splice的主要用途是对数组指定位置进行删除和插入,start表示开始位置索引,deleteCount删除数组元素的个数,value表示在删除位置插入的数组元素,可以省略。
var a = [1,2,3,4,5,6,7,8]; a.splice(1,2); alert(a.toString()); //a变为 [1,4,5,6,7,8] a.splice(1,1); alert(a.toString()); //a变为[1,5,6,7,8] a.splice(1,0,2,3); alert(a.toString()); //a变为[1,2,3,5,6,7,8]
js中数组的特性:java中数组的特性, 规定是什么类型的数组,就只能装什么类型.只有一种类型。js中的数组特性1: js中的数组可以装任意类型,没有任何限制;js中的数组特性2: js中的数组,长度是随着下标变化的.用到多长就有多长。
三、data时间对象
1、创建data对象
//方法1:不指定参数,表示当前时间 var nowd1=new Date(); alert(nowd1.toLocaleString( )); //2017/11/9 下午5:20:54 //方法2:参数为日期字符串 var nowd2=new Date("2004/3/20 11:12"); alert(nowd2.toLocaleString( )); //结果为:2004/3/20 上午11:12:00 var nowd3=new Date("04/03/20 11:12"); alert(nowd3.toLocaleString( )); //结果为:2020/4/3 上午11:12:00 //方法3:参数为毫秒数 var nowd3=new Date(5000); alert(nowd3.toLocaleString( )); //结果为:1970/1/1 上午8:00:05 alert(nowd3.toUTCString()); //结果为:Thu, 01 Jan 1970 00:00:05 GMT //方法4:参数为年月日小时分钟秒毫秒 var nowd4=new Date(2004,2,20,11,12,0,300); alert(nowd4.toLocaleString( )); //结果为:2004/3/20 上午11:12:00毫秒并不直接显示
2、获取日期和时间
获取日期和时间 getDate() 获取日 getDay () 获取星期 getMonth () 获取月(0-11) getFullYear () 获取完整年份 getYear () 获取年 getHours () 获取小时 getMinutes () 获取分钟 getSeconds () 获取秒 getMilliseconds () 获取毫秒 getTime () 返回累计毫秒数(从1970/1/1午夜)
应用实例:输出当前具体时间,如:“ 2014年06月18日 15:40:30 星期三”
function getCurrentDate(){ var date = new Date(); //1. 创建Date对象,没有填入任何参数那么就是当前时间 var year = date.getFullYear(); //2. 获得当前年份 var month = date.getMonth()+1; //3. 获得当前月份 js中月份是从0到11. var day = date.getDate(); //4. 获得当前日 var hour = date.getHours(); //5. 获得当前小时 var min = date.getMinutes(); //6. 获得当前分钟 var sec = date.getSeconds(); //7. 获得当前秒 var week = date.getDay(); //8. 获得当前星期,没有getWeek return year+"年"+changeNum(month)+"月"+day+"日 "+hour+":"+min+":"+sec+" "+parseWeek(week); } alert(getCurrentDate()); //解决 自动补齐成两位数字的方法 function changeNum(num){ if(num < 10){ return "0"+num; }else{ return num; } } //将数字 0~6 转换成 星期日到星期六 function parseWeek(week){ var arr = ["星期日","星期一","星期二","星期三","星期四","星期五","星期六"]; // 0 1 2 3 ............. return arr[week]; }