Javascript的for循环中var与let的区别?

作者:admin   时间:2022-03-14   访问量:115

  for (var i = 0; i < 5; i++) {setTimeout(function () { console.log(i); }, 0)} // 结果 5 5 5 5 5

  for (let i = 0; i < 5; i++) {setTimeout(function () { console.log(i); }, 0)} // 结果 0 1 2 3 4

  for循环头部的var是一个全局变量,而setTimeout是一个异步函数。异步函数会在队列中等待for循环执行之后,再执行。

  for循环头部的let声明还会有一个特殊的行为。这个行为指出变量在循环过程中不止被声明一次,每次迭代都会声明。随后的每个迭代都会使用上一个迭代结束时的值来初始化这个变量。


【地址】:http://www.inseo.cn/seo/165.html转载请注明出处


相关文章

Copyright © 2018-2030 大树SEO All Rights Reserved.