发表于: 2019-11-01 23:16:25

1 1068


今天完成的事情:

把angular任务中的登录页面完善了,重新配置了路由,加了一些父子路由,把搜索那里的通过日期搜索数据写好了

明天计划的事情:

遇到的问题:

收获:

1、nz-popconfirm是气泡提示框的api

2、

定时器使用有了更明确的认识,可以处理异步

setTimeout函数用来指定某个函数或某段代码,在多少毫秒之后执行。它返回一个整数,表示定时器的编号,以后可以用来取消这个定时器。

console.log(1); 

setTimeout('console.log(2)',1000);

console.log(3);

上面代码的输出结果就是1,3,2,因为setTimeout指定第二行语句推迟1000毫秒再执行。

setInterval()

setInterval函数的用法与setTimeout完全一致,区别仅仅在于setInterval指定某个任务每隔一段时间就执行一次,也就是无限次的定时执行。

var i = 1
  var timer = setInterval(function() {    console.log(i++);
  }, 1000);

这块代码表示每隔1000毫秒就输出一个值并+1,如果要停止需要清除定时器

清除定时器clearTimeout(),clearInterval()

清除定时器需要把定时器定义一个变量,比如

var id1 = setTimeout(f,1000);

var id2 = setInterval(f,1000); 

 clearTimeout(id1); 

clearInterval(id2);

  delData(id,status) {//删除数据
    if(status == 2) {
      alert('上线状态不能删除')
      return
    }else {
      this.article.delete(id).subscribe((res:any)=>{
        console.log("删了",res);
        this.getList()
        setTimeout(() => {
          alert('删除成功')
        }, 500);
        
      })
    }

这里使用定时器可以把弹出提示框来延时至在页面重新渲染之后来弹出提示框


运行机制

setTimeout和setInterval的运行机制是,将指定的代码移出本次执行,等到下一轮Event Loop时,再检查是否到了指定时间。如果到了,就执行对应的代码;如果不到,就等到再下一轮Event Loop时重新判断。这意味着,setTimeout指定的代码,必须等到本次执行的所有代码都执行完,才会执行。

setTimeout的作用是将代码推迟到指定时间执行,如果指定时间为0,即setTimeout(f,0),那么不会立刻执行

setTimeout(f,0)将第二个参数设为0,作用是让f在现有的任务(脚本的同步任务和“任务队列”中已有的事件)一结束就立刻执行。也就是说,setTimeout(f,0)的作用是,尽可能早地执行指定的任务。



3、

今天师兄问了一些关于数组以及字符串的一些知识,好久没用了,复习下(常用的加粗楷体)


arr.push() 从后面添加元素,返回值为添加完后的数组的长度

arr.pop() 从后面删除元素,只能删除一个,返回值是删除的元素

arr.shift() 从前面删除元素,只能删除一个 返回值是删除的元素

arr.unshift() 从前面添加元素, 返回值是添加完后的数组的长度

 arr.splice(i,n) 删除从i(索引值)开始之后的那个元素。返回值是删除的元素

arr.concat() 连接两个数组 返回值为连接后的新数组

 str.split() 将字符串转化为数组


arr.sort() 将数组进行排序,返回值是排好的数组,默认是按照最左边的数字进行排序,不是按照数字大小排序的

arr.reverse() 将数组反转,返回值是反转后的数组

arr.slice(start,end) 切去索引值start到索引值end的数组,不包含end索引的值,返回值是切出来的数组

arr.forEach(callback) 遍历数组,无return  即使有return,也不会返回任何值,并且会影响原来的数组

arr.map(callback) 映射数组(遍历数组),有return 返回一个新数组 。

arr.filter(callback) 过滤数组,返回一个满足要求的数组 


arr.every(callback) 依据判断条件,数组的元素是否全满足,若满足则返回ture

 arr.some() 依据判断条件,数组的元素是否有一个满足,若有一个满足则返回ture

arr.reduce(callback, initialValue) 迭代数组的所有项,累加器,数组中的每个值(从左到右)合并,最终计算为一个值

arr.reduceRight(callback, initialValue) 与arr.reduce()功能一样,不同的是,reduceRight()从数组的末尾向前将数组中的数组项做累加。

arr.indexOf() 查找某个元素的索引值,若有重复的,则返回第一个查到的索引值若不存在,则返回 -1


arr.lastIndexOf()   和arr.indexOf()的功能一样,不同的是从后往前查找

Array.from() 将伪数组变成数组,就是只要有length的就可以转成数组。 ---es6

Array.of() 将一组值转换成数组,类似于声明数组    ---es6

arr.copyWithin() 在当前数组内部,将制定位置的数组复制到其他位置,会覆盖原数组项,返回当前数组

arr.find(callback) 找到第一个符合条件的数组成员

arr.findIndex(callback) 找到第一个符合条件的数组成员的索引值


 arr.fill(target, start, end) 使用给定的值,填充一个数组,ps:填充完后会改变原数组

arr.includes() 判断数中是否包含给定的值

arr.keys() 遍历数组的键名

arr.values() 遍历数组键值

arr.entries() 遍历数组的键名和键值


返回列表 返回列表
评论

    分享到