setTimeout 和 setInterval区别及 对array数组的扩展

一:setTimeout 和 setInterval区别
window对象有两个主要的定时方法,分别是setTimeout 和 setInteval  他们的语法基本上相同,但是完成的功能取有区别。

  setTimeout方法是定时程序,也就是在什么时间以后干什么。干完了就拉倒。

  setInterval方法则是表示间隔一定时间反复执行某操作。

  如果用setTimeout实现setInerval的功能,就需要在执行的程序中再定时调用自己才行。如果要清除计数器需要 根据使用的方法不同,调用不同的清除方法:

例如:  tttt=setTimeout('northsnow()',1000);

     clearTimeout(tttt);

或者:

      tttt=setInterval('northsnow()',1000);

      clearInteval(tttt);

二:可以对其进行扩展

如:      Function.prototype.delay = function(time) { var timer = setTimeout(this, time); } //函数延迟time毫秒执行

     调用是 :check.delay(2000)

 

比如array没有contains,sort等,都可以写个扩展

   Array.prototype.sorts = function() { return this.sort(compare); } //数组排序,按照升序排序


         function compare(a, b) { return a - b; } //定义排序规则


         Array.prototype.removeAt = function(dx) { //清除指定索引的数组元素
        if (isNaN(dx) || dx > this.length) { return false; }
          for (var i = 0, n = 0; i < this.length; i++) {
            if (this[i] != this[dx])
              this[n++] = this[i];
            }
            this.length -= 1;
          }


        Array.prototype.filter = function() { //清除数组中的重复值
            var arr = [];
            for (var i = 0; i < this.length; i++) {
              if (!arr.contains(this[i]))
                arr.push(this[i]);
              }
              return arr;
            }


        Array.prototype.contains = function(item) { //检测数组是否包含某元素
          for (var i = 0; i < this.length; i++) {
            if (this[i] == item)
            return true;
            }
          return false;
            }

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值