首页
学习
活动
专区
圈层
工具
发布

重新认识javascript的settimeout和异步

今晚看到QLeelulu的一道JavaScript面试题(setTimeout),稍微想了一下,好不容易连猜带蒙,凑巧说对了答案。但是原因到底是什么呢?...然后看了一下文章下面的评论,发现5楼和6楼的回答很有道理,主要意思就是说javascript引擎是单线程执行的,while循环那里执行的时候,settimeout里面的函数根本没有执行的机会,这样while...那里永远为真,造成死循环。...也就是说第一个settimeout里执行的时候是一个死循环,这个直接导致了理论上比它晚一秒执行的第二个settimeout里的函数被阻塞,这个和我们平时所理解的异步函数多线程互不干扰是不符的。...结论:根据实践结果,可以得出,javascript引擎确实是单线程处理它的任务队列(能理解成就是普通函数和回调函数构成的队列吗?)的。

1.2K90
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    js中settimeout和setInterval区别_JavaScript set

    注:调用过程中,可以使用clearTimeout(id_of_settimeout)终止 参数 描述 code 必需,要调用的函数后要执行的 JavaScript 代码串。...JS里设定延时: 使用SetInterval和设定延时函数setTimeout 很类似。setTimeout 运用在延迟一段时间,再进行某项操作。...使用定时器实现JavaScript的延期执行或重复执行 window对象提供了两个方法来实现定时器的效果,分别是window.setTimeout()和window.setInterval。...window对象有两个主要的定时方法,分别是setTimeout 和 setInteval 他们的语法基本上相同,但是完成的功能取有区别。...JS里设定延时: 使用SetInterval和设定延时函数setTimeout 很类似。setTimeout 运用在延迟一段时间,再进行某项操作。

    3.1K10

    JavaScript定时器:setTimeout与setInterval 定时器与异步循环数组

    深入了解一下 关于JavaScript定时器的知识; setTimeout与setInterval简述 setTimeout与setInterval使用方法基本相同,他们接受两个参数,第一个参数是需要执行的函数...通俗的说就是,让一个函数在指定时间之后再执行,和让一个函数在指定时间一直执行; 然而它在实际项目中有什么作用呢,我们可以利用setInterval制作定时幻灯片、实时数据更新、新闻列表滚动、jQuery...——创建运动框架 提到定时器,就不得不先介绍一个JavaScript运行机制--》浏览器UI线程 用于执行javascript和更新用户界面的进程通常被称为“浏览器UI线程” 在浏览器中,Javascript...异步循环 name为需要循环的array对象 id为要执行的解析函数 time设置每次运行的时间 if(time==undefined){time=30;};...代替for循环 异步处理任务;

    2.6K60

    前端系列 |原生JS和jQuery循环遍历函数

    前言 之前总是不清楚原生JS和jQuery中有哪些循环遍历函数,而且有时候还总是把原生JS方法当成jQuery方法来用,以致于项目总是报错,并且还不知道是什么原因。...DOM对象和jQuery对象如何互相转换? 首先,先说一下DOM对象和jQuery对象如何转换?这样原生JS和jQuery的方法,我们就可以随意使用了。...2.jQuery对象—>DOM对象 有两种方法: (1)jQuery对象[0],如$(“.cls”)[0]; (2)jQuery对象.get(0),如$(“.cls”).get(0)。...原生JS循环遍历函数 1.for() for循环得知道数组的长度才能循环。它比较常用,这里就不多说了。 2.forEach () 不需要知道数组长度,也可以对数组中每一个元素进行操作。...jQuery循环遍历函数 1.each() var arr = ["x","y","z"]; $(arr).each(function (index,item) { console.log(index)

    7.3K20

    jquery对象和javascript对象相互转换

    jQuery 对象是 jQuery 独有的,其可以使用 jQuery 里的方法,但是不能使用 DOM 的方法;例如: $("#img").attr("src","test.jpg"); 这里的 $("#...DOM对象就是Javascript 固有的一些对象操作。DOM 对象能使用Javascript 固有的方法,但是不能使用 jQuery 里的方法。...$("#img").attr("src","test.jpg"); 和 document.getElementById("img").src=\'#\'" 是等价的,是正确的,但是 $("#img")....2. jQuery 对象转成 DOM 对象 两种转换方式讲一个 jQuery 对象转换成 DOM 对象: [index] 和 .get(index); (1) jQuery 对象是一个数据对象,可以通过...对象和 DOM 对象,需要再强调的是: DOM 对象才能使用DOM 中的方法,jQuery 对象是不可以使用DOM中的方法。

    71910

    JavaScript强化教程——jQuery - 获得内容和属性

    本文作者:IMWeb 王军 原文出处:IMWeb社区 未经同意,禁止转载 本文为 H5EDU 机构官方 HTML5培训 教程,主要介绍:JavaScript强化教程 —— jQuery - 获得内容和属性...jQuery 拥有可操作 HTML 元素和属性的强大方法。...jQuery DOM 操作 jQuery 中非常重要的部分,就是操作 DOM 的能力。 jQuery 提供一系列与 DOM 相关的方法,这使访问和操作元素和属性变得很容易。...提示:DOM = Document Object Model(文档对象模型) DOM 定义访问 HTML 和 XML 文档的标准: “W3C 文档对象模型独立于平台和语言的界面,允许程序和脚本动态访问和更新文档的内容...(包括 HTML 标记) val() - 设置或返回表单字段的值 下面的例子演示如何通过 jQuery text() 和 html() 方法来获得内容: 实例$("#btn1").click(function

    93620

    JavaScript强化教程——jQuery - 获得内容和属性

    本文作者:IMWeb 王军 原文出处:IMWeb社区 未经同意,禁止转载 本文为 H5EDU 机构官方 HTML5培训 教程,主要介绍:JavaScript强化教程 —— jQuery - 获得内容和属性...jQuery 拥有可操作 HTML 元素和属性的强大方法。...jQuery DOM 操作 jQuery 中非常重要的部分,就是操作 DOM 的能力。 jQuery 提供一系列与 DOM 相关的方法,这使访问和操作元素和属性变得很容易。...提示:DOM = Document Object Model(文档对象模型) DOM 定义访问 HTML 和 XML 文档的标准: “W3C 文档对象模型独立于平台和语言的界面,允许程序和脚本动态访问和更新文档的内容...(包括 HTML 标记) val() - 设置或返回表单字段的值 下面的例子演示如何通过 jQuery text() 和 html() 方法来获得内容: 实例$("#btn1").click(function

    1.2K50

    JavaScript(19)jQuery HTML 获取和设置内容和属性

    jQuery HTML jQuery 拥有可操作 HTML 元素和属性的强慷慨法。 jQuery DOM 操作 jQuery 中非常重要的部分,就是操作 DOM 的能力。...jQuery 提供一系列与 DOM 相关的方法,这使訪问和操作元素和属性变得非常easy。...提示:DOM = Document Object Model(文档对象模型) DOM 定义訪问 HTML 和 XML 文档的标准:“W3C 文档对象模型独立于平台和语言的界面,同意程序和脚本动态訪问和更新文档的内容...jQuery HTML – 获得内容和属性 获得内容 – text()、html() 以及 val() 三个简单有用的用于 DOM 操作的 jQuery 方法: text() – 设置或返回所选元素的文本内容...html() – 设置或返回所选元素的内容(包含 HTML 标记) val() – 设置或返回表单字段的值 通过 jQuery text() 和 html() 方法来获得内容: $("#btn1

    2.2K10

    jQuery 事件绑定 和 JavaScript 原生事件绑定

    总结一下:jQuery 事件绑定 和 JavaScript 原生事件绑定 及 区别 jQuery 事件绑定 jQuery 中提供了四种事件监听绑定方式,分别是 bind、live、delegate、on...最常用的一种 自 jQuery 版本 1.7 起,on() 方法是 bind()、live() 和 delegate() 方法的新的替代品。...JavaScript支持在标签中直接绑定事件 2.在JavaScript代码中onXXX绑定:在JavaScript代码中绑定事件可以使JavaScript代码与HTML标签分离,文档结构清晰,便于管理和开发...事件绑定和 JavaScript 事件绑定的区别 jQuery 中的事件绑定具有叠加性,JavaScript 的事件绑定则是可覆盖的。...可以发现: 使用 jQuery 的事件绑定方法,对同一个元素的 click 事件先后绑定了三个处理函数,结果按顺序都输出了,说明了 jQuery 的事件处理函数是叠加的; 而使用 JavaScript

    7K20
    领券