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

  • 相关阅读:
    批量修改图片尺寸
    批量修改文件名
    C++ 字符串的编码
    Hanoi问题
    农夫过河问题
    遍历文件夹中所有图片
    仿射变换和透射变换
    程序局部性原理
    14年年底的学习计划
    linux之Vim使用
  • 原文地址:https://www.cnblogs.com/Joans/p/1914545.html
Copyright © 2020-2023  润新知