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];
}

 


  

 

以上是关于python学习_day54_前端基础之js的主要内容,如果未能解决你的问题,请参考以下文章

python学习_day57_前端基础之JS5

python学习_day59_前端基础之jQuery入门2

python学习_day58_前端基础之jQuery入门1

python学习_day62_前端基础之Bootstrap全局CSS样式

python学习_day60_前端基础之jQuery入门3

python学习_day52_前端基础之CSS布局3