zoukankan      html  css  js  c++  java
  • JS笔记之第六天

    Date的使用方法

    Date是一个通用首部,其中包含了创建的日期和时间。

    .getFullYear(); 年

    .getMonth();月;从0开始的,获取真实的月份需要加1

    .getDate();日

    .getHours();小时

    .getMinutes();分钟

    .getSeconds();秒

    .getMilliseconds();毫秒

    .getDay();星期;从0开始的

    var dt = new Date();不传入值,是当前的时间--->当前服务器的时间

           

    不支持HTML5的浏览器,可以用下面这种方式

    vardt = +new Date();  一种特殊的写法,只适用于这个Date的对象
    var dt = new Date();//不传入值,是当前的时间--->当前服务器的时间
    console.log(dt);
    
    var dt = new Date("2020-2-23");//可以传入字符串类型。输入值,传入的时间就是当前的时间
    
    var dt = new Date("2020/2/23");
    
    var dt = Date.now();//毫秒。时间与时间不是数字类型,所以不能加减乘除

    格式化日期和时间

    格式化后的指定格式的日期和时间--->将它封装成一个函数,将来要用的时候直接引入调用就行

      function getDate(dt){
                //获取年
                var year=dt.getFullYear();
                //获取月
                var month=dt.getMonth()+1;
                //获取日期
                var date=dt.getDate();
                //获取小时
                var hours=dt.getHours();
                //获取分钟
                var minutes=dt.getMinutes();
                //获取秒
                var seconds=dt.getSeconds();
                    /*month=month<10?"0"+month:month;
                    date=date<10?"0"+date:date;
                    hours=hours<10?"0"+hours:hours;
                    minutes=minutes<10?"0"+minutes:minutes;
                    seconds=seconds<10?"0"+seconds:seconds;封装到一个函数里面*/
                return zero(year)+"年"+zero(month)+"月"+zero(date)+"日"+zero(hours)+"小时"+zero(minutes)+"分钟"+zero(seconds)+"秒";
            }
            console.log(getDate(new Date()));
            //封装
            function zero(value){
                return value < 10?'0'+value : value;
            }

    字符串的特性

    string--->字符串类型--->基本类型

    String--->字符串类型--->引用类型(一般情况是复杂类型)

    字符串对象--->指的是大写的 String对象(小写是数据类型)

    JS中无论是单引号还是双引号,都是字符串

    字符类型--->其他语言有,JS没有字符类型

    字符必须用单引号--->值,只有一个字符串必须用双引号

    字符串可以看成是多个字符组合的数组

    String--->是一个对象

    字符串可以看成是字符组成的数组,但是js中没有字符类型

    字符是一个一个的,在别的语言中字符用一对单引号括起来

    在JS中字符串可以使用单引号也可以使用双引号

    因为字符串可以看成是数组,所以可以通过for循环进行遍历

           

    字符串的特性:不可变性

    不可变性指的是字符串的值是不能改变的。

    字符串可以通过索引访问字符串中的某个值,但是,指的是可以访问,也就是只能读取,简称:只读

    设置:就是可以改变

    字符串的值之所以看起来改变,那是因为指向改变了,并不是真的值改变了。

    var str="hello";//字符串可以通过索引访问字符串中的某个值,但是,指的是可以访问--->只能读取--->只读
    str[1]="k";
    console.log(str);
    
    var str="hello";
    str="live";console.log(str);//之所以改变,是因为指向改变了

    String 的使用方法

    实例方法--->必须通过new的方式创建的对象(实例对象)来调用的方法

    静态方法--->直接通过大写的构造函数的名字调用的方法(也可以:直接通过大写的对象名字调用的)

    索引的值永远都是从左到右的

    .length--->字符串的长度

    .charAt(索引),返回值是指定索引位置的字符串,超出索引,结果是空字符串

    .fromCharCode(数字值,可以是多个参数),返回的是ASCII码对应的值

    .concat(字符串1,字符串2,......);返回的是拼接之后的新的字符串

    .indexof(要找的字符串,也可以从某个位置开始的索引(可以不写));返回的是这个字符串索引的值,没有找到则返回-1(重要与经常使用)

    .lastIndexof(要找的字符串);从后向前找,但是索引仍然是从左向右的方式,找不到则返回-1(重要)

    .replace("原来的字符串","新的字符串");用来替换字符串的

    .slice(开始的索引,结束的索引);从索引开始的位置开始提取,到索引为结束的索引的前一个结束,没有结束的索引,并返回这个提取后的字符串

    .split("要干掉的字符串",切割后留下的个数);切割字符串

    .substr(开始的位置,个数(可以不写));返回的是截取后的新的字符串

    .substring(开始的索引,结束的索引);返回截取后的字符串;不包含结束的索引的字符串

    .toLocaleUpperCase(); .toUpperCase();  都是转大写,没有什么区别

    .toLocaleLowerCase(); .toLowerCase();  都是转小写,没有什么区别

    .trim(); 切掉字符串两端的空格

    .trimLeft(); 切掉字符串左端的空格

    .trimRight(); 切掉字符串右端的空格

    练习1:

    .截取其中两个字

    var str="人生目标确定容易实现难,但如果不去行动,那么连实现的可能也不会有。";
        //先获取要截取的字符串的索引的位置
    var index=str.indexOf("行动");
         //从指定的位置开始截取,截取两个即可
    str=str.substr(index,2);
    console.log(str);
    
    //也可以这么写 var key="行动"; var index=str.indexOf(key); str=str.substr(index,2); console.log(str);

    练习2:

    找到这个字符串中所有的 o 出现的位置 

     var str2="hello world Please allow me to perform";
            var index=0;//开始的位置
            var key="o";//要找的字符串
            while ((index=str2.indexOf(key,index))!=-1){//如果不是-1的情况,说明找到了
                //先执行str2.indexOf找o,从index=0的位置开始找,找到了索引是4,赋值给了index,4!=-1,找到了,
                console.log(index);//找到之后把索引显示出来
                index+=key.length;//4的位置找完之后,就应该4的从下个位置5开始找
            }

    Array

    callback说明传入一个函数

    Array.isArray(对象名);判断这个对象是不是数组(instanceof 关键字,这个也可以判断)

    .concat(数组,数组,数组,...); 组合成一个数组

    .every(函数);返回值是布尔类型;函数作为参数使用;函数中有三个参数,第一个参数是元素的值,第二个参数是索引值,第三个参数是原来的数组(一般情况下没有用);此方法常用于筛选。如果这个数组中每个元素的值都符合条件,最后才返回的是ture,函数一般里面传入:ele,index;ele代表参数,index代表索引

    .filter(函数);返回的是数组中每一个元素都符合条件的元素,组成了一个新的数组

    .unshift();向数组的第一个元素插入一个新的元素(可以添加多个值)返回值是插入后的长度

    .push(值);向数组的最后一个元素插入一个新的元素(可以添加多个值)返回值是追加数据之后的数组的长度

    .shift();删除数组中第一个元素,返回值就是删除的这个值

    .pop();删除数组中最后一个元素,返回值就是删除的这个值

    .forEach(函数);遍历数组用的,相当于for循环

    .indexOf(值); 返回的是索引,没有就是-1

    .join("字符串"); 返回的是一个字符串.括号里面的字符串是自定义的

    .map(函数);数组中的每个元素都要执行这个函数,把执行后的结果重新的全部的放在一个新的数组中

    .reverse();反转数组

    .sort();冒泡排序,可能不稳定。

    如果不稳定,加上if (a>b){return 1;}else if (a==b){return 0;}else {return -1;}//if这个判断是固定写法

    .slice(开始的索引,结束的索引);把截取的数据的值放在一个新的数组中,但是不包含结束的索引对应的元素值

    .splice(开始的位置,要删除的个数,替换的元素的值,);一般是用于删除数组中的元素,或者是替换元素,或者是插入元素

    基本包装类型: number、string、boolean(面试可能会遇到)

    普通变量不能直接调用属性或者方法

    对象可以直接调用属性或者方法

    基本包装类型:本身是基本包装类型,但是在执行代码的过程中,如果这种类型的变量调用了属性或者是方法,

    那么这种类型就不在是基本类型了,而是基本包装类型,这个变量也不是普通的变量了,而是基本包装类型对

    如果是一个对象&&ture,那么结果是ture

    如果是一个ture&&对象,那么结果是对象

    var flag=new Boolean(false);

    var result=ture&&flag;

    console.log(result);

  • 相关阅读:
    Maximum Flow Exhaustion of Paths Algorithm
    ubuntu下安装java环境
    visualbox使用(二)
    vxworks一个超级奇怪的错误(parse error before `char')
    February 4th, 2018 Week 6th Sunday
    February 3rd, 2018 Week 5th Saturday
    February 2nd, 2018 Week 5th Friday
    February 1st, 2018 Week 5th Thursday
    January 31st, 2018 Week 05th Wednesday
    January 30th, 2018 Week 05th Tuesday
  • 原文地址:https://www.cnblogs.com/haohaogan/p/12603516.html
Copyright © 2011-2022 走看看