联系方式

咨询热线:400-998-6158

点击此处免费预约试听课程»

常见问题
学习资讯
常见问题

昆明普宁区PHP开发工程师培训班哪里有

昆明普宁区PHP开发工程师培训班哪里有

学习内容:
一、网页基础
HTML基础知识,CSS样式表,DIV布局,Dreamweaver操作使用等二次开发

二、JS
JS基本语法,JS基于对象,DOM对象模型,JQuery类库,Ajax等火烧云信息

三、PHP初级
环境架构,PHP基本语法,函数、数组、字符串、日期时间、文件、COOKIE、SESSION、图像、数据库等火烧云B/s系统开发

四、PHP*

Smarty模板、Ajax、Eclipse PHP、面向对象、PDO、ADODB、XML、加解密、sokect、Email、SVN、ThinkPHP框架等

我们的品*特质
“以客户为中心”我们坚持以客户为先,深刻理解客户需求并积极匹配客户战略,主动承担责任,不断提升客户体验和满意度,成就客户,实现与客户的长期合作与共赢。
奋斗进取
我们积极进取、集体奋斗、gao效执行,以批判思维持续改进和完善,富于激情地实践对客户的承诺,全力以赴致力于客户的成功。
创新
我们洞察和把握行业趋势,围绕客户需求持续创新,构筑起强大的技术实力,以持平的产品和服务为客户持续创造价值。
开放合作
我们用心聆听内外部建议,主动分享知识和观点,通过广泛合作,构建和谐的产业环境,与整个产业和利益相关人共同创造和分享价值。



下列代码行1-4如何排序,使之能够在执行代码时输出到控制台? 为什么?

(function() { console.log(1);

setTimeout(function(){console.log(2)}, 1000);

setTimeout(function(){console.log(3)}, 0);

console.log(4);

})();

序号如下:

1

4

3

2

让我们先来解释比较明显而易见的那部分:

1 和 4之所以放在前面,是因为它们是通过简单调用 console.log() 而没有任何延迟输出的

2 之所以放在 3的后面,是因为 2 是延迟了1000毫秒(即,1秒)之后输出的,而 3 是延迟了0毫秒之后输出的。

好的。但是,既然 3 是0毫秒延迟之后输出的,那么是否意味着它是立即输出的呢?如果是的话,那么它是不是应该在 4 之前输出,既然 4 是在第二行输出的?

要回答这个问题,你需要正确理解JavaScript的事件和时间设置。

浏览器有一个事件循环,会检查事件队列和处理未完成的事件。例如,如果时间发生在后台(例如,脚本的 onload 事件)时,浏览器正忙(例如,处理一个 onclick),那么事件会添加到队列中。当onclick处理程序完成后,检查队列,然后处理该事件(例如,执行 onload 脚本)。

同样的, setTimeout() 也会把其引用的函数的执行放到事件队列中,如果浏览器正忙的话。

当setTimeout()的第二个参数为0的时候,它的意思是“尽快”执行指定的函数。具体而言,函数的执行会放置在事件队列的下一个计时器开始。但是请注意,这不是立即执行:函数不会被执行除非下一个计时器开始。这就是为什么在上述的例子中,调用 console.log(4) 发生在调用 console.log(3) 之前(因为调用 console.log(3) 是通过setTimeout被调用的,因此会稍微延迟)。

学校联系方式

更多培训课程,学习资讯,课程优惠等学校信息,请进入 昆明晋宁区IT培训昆明晋宁区php培训昆明晋宁区java培训 网站详细了解,免费咨询电话:400-998-6158

相关课程