<script type="text/javascript">

var arr = new Array(6)
arr[0] = "00"
arr[1] = "11"
arr[2] = "22"
arr[3] = "33"
arr[4] = "44"
arr[5] = "55" document.write(arr + "<br />")
//arr.splice(2,3,"44") //删除 22(索引 -2) 和 33(索引 -3)
//arr.splice(2,3) //删除 22(索引 -2) 和 33(索引 -3)和 44(索引 -4)
//arr.splice(2,3,44,66) //删除 22(索引 -2) 和 33(索引 -3)和 44(索引 -4) 增加 44 和 66
//arr.splice(0,1); //从索引0开始 删除1个
arr.splice(0,2); //从索引0开始 删除2个
document.write(arr) </script>
<script type="text/javascript">

        var thread = function () {
var nowTime = 0, //线程已经执行了多久
maxTime = 15;//线程最多执行多久
var threadArr = [];//数组模拟线程队列 this.addThread = function (fn) {
threadArr.push(fn)
}
this.start = function () { //启动
doingThread(); //执行doingThread函数
}
var doingThread = function () {
if (threadArr.length > 0) {
if (nowTime < maxTime) {
let now = new Date().getTime(); //时间戳 毫秒级
var method = threadArr[0]; //获得第一个函数;
method(); //执行这个函数
threadArr.splice(0, 1); //数组函数 删除第一个元素
let nowNew = (new Date().getTime() - now); //获得运行时间
nowTime += nowNew; //累加运行时间
doingThread();
} else {//每执行完线程后睡1ms
nowTime = 0;
setTimeout(doingThread, 1);
}
} else {//先睡着等待线程队列
setTimeout(doingThread, 100); //在指定的毫秒数后调用函数; 类似于递归函数,循环执行doingThread函数
}
}
}
var fn = function (num) {
console.log(num)
}
var thread = new thread();
thread.start();
for (let i = 0; i < 2; i++) {
thread.addThread(function () { fn(i);sleep(3000); }); //传递匿名函数到数组
} function sleep(delay) { //延时函数
var start = (new Date()).getTime();
while ((new Date()).getTime() - start < delay) {
continue;
}
}
</script>

https://www.cnblogs.com/charleswone/p/10228699.html

https://segmentfault.com/a/1190000008723632

setTimeout("test()","");  //2000毫秒后执行test()函数,只执行一次。
setInterval("test()",""); //每隔2000毫秒执行一次test()函数,执行无数次。
var interval = window.setInterval("test()","");
window.clearInterval(interval); //停止执行setInterval循环。 当我们想让test()函数每隔2000毫秒执行一次,执行10000毫秒后停止执行时,可以用两者三者结合使用来实现。
var interval2 = window.setInterval("openit2()",);
setTimeout(function() {window.clearInterval(interval2);},); 带参方法执行延迟
setTimeout(function(){return executeQueryTask(data);},"");

https://www.cnblogs.com/tv151579/archive/2013/01/06/2848320.html

js 数组 splice 函数 多线程的更多相关文章

  1. js 数组处理函数

    本文转载自有有<js 数组处理函数> concat 将参数列表连接到原数组后面形成一个新的数组并返回,原有数组不受影响. var arr = ["a","b& ...

  2. js 数组操作函数有:push,pop,join,shift,unshift,slice,splice,concat

    (1)push 和 pop 这两个函数都是对数组从尾部进行压入或弹出操作.push(arg1,arg2,...)可以每次压入一个或多个元素,并返回更新后的数组长度.注意如果参数也是数组的话,则是将全部 ...

  3. JS数组常用函数以及查找数组中是否有重复元素的三种常用方法

    阅读目录: DS01:常用的查找数组中是否有重复元素的三种方法 DS02:常用的JS函数集锦 DS01.常用的查找数组中是否有重复元素的三种方法  1. var ary = new Array(&qu ...

  4. JS数组和函数 小记

    数组 JS中的数组来自window,是一个全局的对象,typeof的值是'object'. 创建数组: 1.Array(3):当只传一个值的时候,会生成一个长度为该数值的空数组. 2.Array(3, ...

  5. JS数组at函数(获取最后一个元素的方法)介绍

    本文介绍js中数组的at函数,属于比较简单的知识普及性文章,难度不大. 0x00 首先,我们可以思考如下一个问题,如果要获取一个数组的最后一个元素(这是很常用的操作),我们应该怎么做? 相信大部分人能 ...

  6. JS 数组及函数

    数组    定义        Array(1,3.14,"aa")            给数据        Array(5)            给长度        [1 ...

  7. 最近学习的 Node.js 数组_函数

    数组的排序,用到了箭头函数 let arr=[, , , , , , ]; /* arr.sort(function (n1, n2){ return n1-n2; }); */ // 等价于上面的写 ...

  8. JS 使用 splice() 对数组去重

    一 问题 有如下 js 数组 connect_clients,需要在去掉所有元素中 user_id, goods_id 这两者的值都相同的元素. [ { id: 'eff040fb-92bc-4f24 ...

  9. js splice函数 数组增加,替换,删除

    splice函数参数介绍: 第一个参数: 对于数数组的操作起始位置. 第二个参数: 从第一个参数开始,删除数组中的个数. 从第三个参数之后所有参数(如果有):执行完第二步之后,都插入到第一个参数的起始 ...

随机推荐

  1. USACO4.3 Letter Game【枚举·细节】

    题意 这道题的题目描述让我好一阵蒙,简述一下题意吧: 给定一些字母的价值(如图所示),给出一个字符串(长度在$3$到$7$之间,可以出现重复的字母)和一个单词库.定义一个单词的价值就是它的字母的价值之 ...

  2. 【嵌入式开发】树莓派h264实时视频监控

    FishXX之前用VLC串流输出视频,在电脑上需要VLC播放器.试了一下,感觉还是有点延时. 今天发现一个更加流畅,也不需要VLC播放器的树莓派远程视频监控方法,直接在浏览器中打开即可. 地址:htt ...

  3. Linux文件目录的权限

    权限对文件的重要性:(主要是针对文件的内容而言,与文件名没有关系) r: 可读取此文件的实际内容. w: 可以编辑.新增或者修改该文件的内容(但不能删除该文件) x: 该文件具有可以被系统执行的权限. ...

  4. python-day16(正式学习)

    目录 模块 什么是模块? 模块的四种形式 为什么要用模块 如何用模块 import from...import... 异同 循环导入问题 解决方案 1. 2. 模块搜索路径 random模块 模块 什 ...

  5. 集成学习-组合策略与Stacking

    集成学习是如何把多个分类器组合在一起的,不同的集成学习有不同的组合策略,本文做个总结. 平均法 对数值型输出,平均法是最常用的策略,解决回归问题. 简单平均法 [h(x)表示基学习器的输出] 加权平均 ...

  6. php 数组助手类

    ArrayHelper.php <?php /** * php 数组助手类 * Class ArrayHelper * @package app\helper */ class ArrayHel ...

  7. Python中字典合并的四种方法

    字典是Python语言中唯一的映射类型.映射类型对象里哈希值(键,key)和指向的对象(值,value)是一对多的的关系,通常被认为是可变的哈希表.字典对象是可变的,它是一个容器类型,能存储任意个数的 ...

  8. jupyter notebook 使用多个python环境

    conda install nb_conda_kernels 执行上面的命令,然后启动notebook就可以选择conda中的所有环境了

  9. 【Linux】C字节对齐

    原文地址:https://www.jianshu.com/p/e8fcc01041a7 什么是对齐,以及为什么要对齐: 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问 ...

  10. 修改文件夹的所有者为www

    切换到root用户:su - root 修改文件所属用户和用户组:chown 用户:用户组 文件名如果用户和用户组是www,那么需要执行命令如下:chown www:www filename -R ( ...