我爱占星网 我爱占星网
首页
编程
java
php
前端
首页 编程 java php 前端

JS代码 为什么结果是5

for(var i = 0;i<5;i++){
setTimeout(function(){
alert(i);
},500);
}

setTimeOut是异步的,等你500毫秒输出时,for循环早就跑完了,i早变成5了
你可以这样看一下

setTimeout(function(){
alert(i);
},100);
alert("阻断");
} 

这样就能输出12345了,那个100若是改为3000还是会输出别的数字
到这里你就能明白运行机理了

近期文章

  • 服务器上的网站频繁出现连接数据库失败的提示,但是刷新一下又好了,什么问题?
  • win7系统下怎么完美卸载sql 2005重装
  • MFC SOCKET的问题!!
  • Fedora18 如何进入 root su -运行不能输入密码
  • 新人求助:关于IOS APP向下兼容的问题
  • java网络编程的小疑惑
  • 关于linux下 yum的安装问题,,,配置,,(第一次提问)
  • 总提示找不到合适的驱动器,我jar包都引了
  • 复杂背景下红外视频多目标检测
  • ListView的item中实现@功能,点击时跳转执行两次的问题,
  • python BeautifulSoup模块解码
  • 安卓开发,不联网怎样定位?我用的是百度地图
  • sd分区后卡不显示,电脑上也不显示,手机也不行
  • 数据结构 算法 c语言 二叉排序树
  • 递推 数的划分问题一
  • android 在根目录创建文件
  • 惠普笔记本摄像头驱动为什么不能用?
  • python 的IDLE编辑器的shell中不显示\r\b效果
  • CSocket发送空包还是接送了空包? 怎么办?!?!
  • Matlab Simulink 仿真类型选择问题

Copyright ©2022 我爱占星 All Rights Reserved.

浙ICP备2022030071号-1

部分图文来自网络,如有侵犯您的版权,请告诉我们删除

友情链接:代码精华