1.实现JavaScript异步
for(vari =0;i <4;i++) {
setTimeout(function() {
console.log(i);
},0);
}
2.在事件中,setTimeout 会在其完成当前任何延宕事件的事件处理器的执行,以及完成文档当前状态更新后,告诉浏览器去启用 setTimeout 内注册的函数。;
举个例子来说这句话的意思,假如当某个事件在页面上建立一个文本框,并给文本框赋值(完成文档当前状态更新),然后将焦点定到文本框,并且选中文本框的内容(后面部分就需要用到setTimeout 延迟0ms实现,否则不好实现)。
get('makeinput').onmousedown=function(){
varinput =document.createElement('input');
input.setAttribute('type','text');
input.setAttribute('value','test1');
get('inpwrapper').appendChild(input);
input.focus();
input.select();
}
get('makeinput2').onmousedown=function(){
varinput =document.createElement('input');
input.setAttribute('type','text');
input.setAttribute('value','test1');
get('inpwrapper2').appendChild(input);
setTimeout(function(){
input.focus();
input.select();
},0);