学习JavaScript的第3天

1、延时器

格式:  setTimeout(函数,要传的毫秒数)

 setTimeout(()=>{                    //使用箭头函数
            console.log(1);
        },2000)

延时器的作用就是延迟输出,2000指的是毫秒数,意味着console.log(1)会延迟两秒进行输出

        let a = 5  // 定义一个变量 赋值是5
        console.log(a); // 输出这个变量
        setTimeout(() => {  // 延时器 
            a=10           //修改定义的变量a
            console.log(a); //  5s 输出这个变量
        }, 5000);

刚开始变量a的值为5,5秒后修改成10

 5秒后:

 2、定时器

格式:  setInterval(()=>{   })

        let num = 1         // 定义一个变量num 赋值为 1 
        setInterval(()=>{   // 定时器
            num += 1        // 每过1s 执行一次 函数的内容            
            console.log(num);
        },1000)

这段代码指的是每过去一秒,num变量会加1,一直输出

 3、延时器和定时器的区别

        延时器是等毫秒数倒计时结束后 执行这个函数 ,但是永远只执行一次!!而定时器是每过去设定毫秒就会执行函数

4、字符串的截取

        使用的是slice()函数,它是一个内置函数,不需要重新定义,可以直接使用

案例1:

        

        let str = '涛哥爱学习'     //该字符串的索引为0 1 2 3 4
        let name = str.slice(0,2) //0指的就是当前项,2指的是前一项
        console.log(name);

如果想要截取出str字符串中的 '涛哥' ,那么就可以使用slice()函数,函数中的第一个参数0指的是字符串的索引值(包括当前项),第二个参数2指的是想要截取出的某个字的索引的前一项(不包括当前项)

结果为:

注: 如果只传第一个参数 默认截取从索引(包括当前索引)截取之后的所有字符串

案例2:

        let text = '哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦哦强哥'
                                         
        console.log(text.slice(-2));    // 如果传入负数那就从末尾开始截取

如果传入的是负数,那么就从字符串末尾开始截取

 5、数组的截取

案例1:

        let arr = [1,2,3,4,5]
        
        let arr2 = arr.slice(0,2);       // slice 不会改变原数组
        let arr3 = arr.slice(2)
        console.log('数组arr2' + arr2);
        console.log('数组arr3' + arr3);   //产生了新的数组
        console.log('原数组' + arr);     //并未改变原数组的长度

数组的截取跟字符串的截取是一样的,,都是使用了slice()函数,slice()中的参数的含义也是一样的,第一个参数是索引(包括当前索引), 第二个参数是索引之前的(不包括当前索引)

如果只传第一个参数 默认截取从索引(包括当前索引)截取之后的所有

输出结果为:

 

 案例2:

        let arr = [1,2,3,4,5];

        arr.splice(1,2);    //splice 第一个参数是索引,第二个参数是删除几个
        console.log(arr);

 使用splice()函数,与slice()不同的是,splice 第一个参数为索引,第二个参数为删除几个

输出结果为:

 删除了数组中的2,3,改变了原数组

splice()函数也可以在指定位置添加元素

        // splice 也可以在指定位置上添加
        let arr2 = [1,2,4,5]
        arr2.splice(2,0,3)   //2指的是索引,0指的是至少添加一个新的元素,3要添加的元素 
        console.log(arr2);

splice()中的2指的是索引,0指的是至少添加一个新的元素,3要添加的元素

 splice()函数还可以删除元素

        let arr3 = [1,2,3,4,5]
        let res =  arr3.splice(1,2) //1代表索引,从index=1处开始  2代表要删除元素的个数
        console.log(res,'最后的删除');

1代表索引,从index=1处开始  2代表要删除元素的个数

最后输出的是所删除的元素

 6、使用new创建对象

格式:  let  obj = new  Object();

如果想给对象中添加元素,则使用obj.属性名 = 属性值  进行添加

7、使用构造函数创建对象

格式:

        function Person(name,age,hobby) {
            this.name = name
            this.age = age
            this.hobby = hobby
        }

为了区分构造函数和普通函数的区别,构造函数的首字母大写

构造函数的好处是可以实现逻辑复用

我们可以调用函数,进行创建对象

        let taoge = new Person('涛哥',22,'爱学习')
        let qiangge = new Person('强哥',22,'爱学习')
        console.log(taoge,qiangge);

 输出taoge,qiangge

8、时间补0

 要实现上图显示的时间,必须进行时间补0

        var date = new Date()             //new一个时间函数
        var y = date.getFullYear()        //年
        var m = zero(date.getMonth() + 1) //月
        var d = zero(date.getDate())       //日
        var time = y + '-' + m + '-' + d   //字符串的拼接
        console.log(time);
        function zero(num) {
            
            return num<10? '0'+num : num
        }

补0,得创建一个zero()函数,如果输出的月份小于10,则需要往月份前面补0

9、this指针

this指针默认指向的是全局window,函数中的this,谁调用它,它就指向谁。箭头函数 如果是在对象 ,他指向的是上层作用域 的this

10、字符串与数组的相互转换

(1)数组转字符串

        数组转成字符串,使用 arr.join('拼接符'),如果不想有拼接符传空字符串

        let arr = [1,2,3,4,5]
        console.log(arr.join('-'));

  输出结果:

 (2)字符串转数组

        let str1 = '12345'
        let str = '12-345'

        console.log(str.split('-')); // [12,345]
        console.log(str1.split('')); // [1,2,3,4,5]

输出结果:

 11、数组过滤

  (1)案例:  把 > 50 的数过滤出来 ,还是返回一个数组

        let arr = [1,2,3,4,6,99,5,4,38,77]
        let arr1 = []                       //新数组arr2
        arr.forEach(item=>{                 //对数组的每个元素执行一次给定的函数。
           if(item>50){ 
              arr1.push(item)               //满足条件的元素放到新的数组中
            }
        })
        console.log(arr1);

输出结果:

 (2)使用过滤器filter()

        过滤器 就是把满足条件的放到一个 新数组里面

        let arr2 = arr.filter((item,index)=>{   //item代表每一项  index代表索引
            return item > 50
        })

简写形式:

        let arr2 = arr.filter(item=> item > 50);

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值