问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

保密安全学习心得

发布网友 发布时间:2022-04-24 06:39

我来回答

2个回答

懂视网 时间:2022-04-24 08:19

本文主要介绍了setTimeout原理;setTimeout(function(){..},0)的意义;setTimeout的this指向和参数问题。具有很好的参考价值,下面跟着小编一起来看下吧

大致介绍

今天看了一篇文章,觉得写得不错,所以学习了一下,这篇博客是我自己的理解和总结

原文:你应该知道的 setTimeout 秘密

主要内容:

 1、setTimeout原理

 2、setTimeout(function(){..},0)的意义

 3、setTimeout的this指向和参数问题

setTimeout原理

先来看一段代码:

最后输出的是1003(可能数字不同,但是都大于1000)

之所以会输出这样的数,是因为执行到setTimeout时,会把其中的代码经过500ms后放到执行队列中,但是之后执行while循环,while循环会占据计算机资源,要占据1000ms,在这1000ms中执行队列中的任务都得等待,直到while循环结束

可以看出setTimeout的原理就是在经过给定的时间后,将任务添加到队列中,等待cpu调度执行,它并不能保证任务在什么时候执行

setTimeout(function(){..},0)的意义

有时候见过这样的代码:

经过前面的学习,我会以为是当代码执行到setTimeout时,会立即将任务添加到执行队列中。其实不然,虽然给定的延迟执行时间是0,但是setTimeout有自己的最小延迟时间(根据浏览器的不同而不同),所以即使写了0s,但是setTimeout还是会在最小延迟时间后才添加任务到执行队列中

设置为0s的作用是为了可以改变任务的执行顺序!因为浏览器会在执行完当前任务队列中的任务,再执行setTimeout队列中积累的的任务

例如:

会产生这样的问题:

setTimeout学习小结

可以发现采用第一种写法时,只会获取到键盘按下前,输入框中的内容

产生问题的原因是当我们按下键盘时,JavaScript引擎会执行keydown的事件处理程序,而更新输入框中的值是在此之后执行的,所以当获取输入框中的值(this.value)时,输入框中的值还为更新。

解决方法就是利用setTimeout,在更新了输入框的值后,在获取它的值

setTimeout的this指向和参数问题

setTimeout中回调函数的this是指向window的

例如:

但我们可以利用apply()、call()和bind()来改变this的指向

在setTimeout通常是两个参数,但是它可以由多个参数

例如:

可以看到,这些多的参数就是回调函数中要传入的参数

更多setTimeout学习小结相关文章请关注PHP中文网!

热心网友 时间:2022-04-24 05:27

US OK--> 新保密法学习心得_百度知道 var IKFromImport=false; | | G("log_in").src=" http://passport.baidu.com/?login&tpl=ik&u"+escape(location.href); 知道 | function ask(fn) (function()Fe.on(window,"resize",A);A();setTimeout(A,100)})(); if(!g_f_js) if (typeof(cf)=="function") var IknowPageModify=false;var UnloadConfirm=}};UnloadConfirm.clear=function()};UnloadConfirm.set();if(!G)return A}}function ctlSubmit(A)}function lockButton(A),3000)}function cReply(A)if(A=="no")}function fixReply(A)function showcpro(A)function ga(B,A)}}elset=h.id}if(t==a||p==a||r==a)window.open(G(a).href,"_blank")}}function ss(A)function cs()var query=(function()D.onsubmit=function()document.forms.ftop.appendChild(E(query.isChanged()));return true}}function A()return B!=document.forms.ftop.word.value}return})();function statFunc(A)function voteAnswer(A)function formSubmit(B,A),B),A||"deal")}; var url = escape(location.href); IknowLogParams["page"]="ikqb"; > > >

已解决

新保密法学习心得 悬赏分:0 - 提问时间2010-5-28 07:07刚刚下发保密法,要求写心得.体会. 提问者: -

其他回答 &
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
密室逃脱8迷失乐园攻略大全 密室逃脱8迷失游乐园通关攻略 密室逃脱8逃出红色豪宅第7关怎么过_第7关卡通关图文攻略 密室逃脱8卖火柴的小女孩旋转六边形介绍_密室逃脱8卖火柴的小女孩旋转六... 跨国行李托运 房屋复式是什么意思? 什么叫复式房子 请问 为了减掉身上的赘肉 除了锻炼以外 在饮食上要注意什么 请详细点... 淘宝买家购物满500元后使用信用卡的时候就不能支付 笔记本电脑如何保护 水韵江苏旅游年卡和苏州休闲年卡哪个划算 液化气减压阀原理是什么 为什么PCB制板阻抗不讲频率? 手机运行内存6G和8G有什么区别? 如何调节液化气罐调压阀 阻抗计算是计算整板PCB的阻抗还是几个部分的阻抗? 做pcb板子时,若要考虑阻抗匹配,芯片的输入输出阻抗怎么计算? 如何选择合适的家用液化气减压阀? 关於PCB阻抗的问题!!! PCB 阻抗板?一个需要制作成阻抗板的PCB,怎么知道要设计成多少阻抗的PCB?根据是?下图中75欧怎么来的? 液化气罐上的减压阀扭不下来怎么办 以书信的形式向他人诉说成长故事350字 以一封信的形式描述自已两年的药校学习生活英语作文90词左右英语版本 保密法的感想感悟是怎么样的? 如何调节液化气罐调压阀? 以书信的形式写一篇《老师感谢你》怎么写 阻抗是什么?PCB电路板阻抗怎么测试 以一封信的形式写一篇介绍江门的侨乡特色 1 建筑 2 名人 3 美食_百度... 液化气减压阀起什么作用? PCB线路板需要做阻抗吗? 以一封信的形式,给父母写一封关于城乡综合治理的作文。 注:1 不少于1000字。 2 复制的就免了~~ 如何制作PCB板的阻抗测试条? 如何从板厂PCB阻抗报告中区分出是单端还是差分阻抗,有行业术语表示吗,如图中我怎么区分是差分还是单端 手机4G,6G是什么? 保密培训后的感想 如何实现自己的人生价值 我们如何实现自己的梦想 如何去实现理想 如何实现自己的理想? 如何实现自己的人生价值? 如何实现梦想? 如何实现自己的目标? 如何实现自己的目标 我的梦想如何实现 如何实现职业目标 如何才能实现自己的梦想 如何实现理想的计划? vip是什么 VIP是指什么? 什么是“VIP” 什么得其什么