当前位置: 首页 > news >正文

包头网站建设兼职自媒体营销的策略和方法

包头网站建设兼职,自媒体营销的策略和方法,网商网站怎么做,html怎么做查询网站看了很多解释,感觉都不好理解。这个文章是我自己的理解,可以做个参考,如果我理解的不对,欢迎在评论区指正: var:使用var声明的变量具有全局作用域 (循环中每次声明的是同一个变量) l…

看了很多解释,感觉都不好理解。这个文章是我自己的理解,可以做个参考,如果我理解的不对,欢迎在评论区指正:


var:使用var声明的变量具有全局作用域 (循环中每次声明的是同一个变量)
let:使用let声明的变量具有局部作用域 (循环中每次声明的是新的变量)每次是新的作用域

为什么var使用的是同一个呢?因为var可以变量提升,let不可以;

可以把for循环拆解成这样的代码去理解,就通顺了:

for(var i=0;i<2;i++){setTimeout(()=>console.log(i),1000)
}// 相当于
var i;  // 变量提升
function q(){i=0;setTimeout(()=>console.log(i),0)
}
q();function w(){i=1;setTimeout(()=>console.log(i),0)
}
w();function e(){i=2;
}
e();

然后let可以拆解成这样:
 

for(let i=0;i<2;i++){setTimeout(()=>console.log(i),1000)
}// 相当于
function q(){let  i=0; // 变量提升不了setTimeout(()=>console.log(i),0)
}
q();function w(){let i=1;setTimeout(()=>console.log(i),0)
}
w();function e(){let  i=2;
}
e();

 var里面由于改变的都是同一个变量,setTimeout引用的变量地址指向同一个值,所以最后值是相同的。

let里面由于每次都开辟了一个新的内存空间,setTimeout引用的变量地址指向的是不同的值,所以最后值是不同的。

==================================

以上是对let解决方法的语意化,如果使用闭包那么就转化为这样:

for(var i=0;i<2;i++){(function(j){setTimeout(()=>console.log(j),0);})(i)
}var i;  // 变量提升
function q(){i=0;   // 闭包(function(j){setTimeout(()=>console.log(j),0);})(i)
}
q();function w(){i=1;(function(j){setTimeout(()=>console.log(j),0);})(i)
}
w();function e(){i=2;
}
e();

如果说的不对,欢迎指正🎉

http://www.yidumall.com/news/79222.html

相关文章:

  • 织梦系统做的商城网站seo网站优化做什么
  • dede网站地图路径修改怎么做网站模板
  • 开锁都在什么网站做企业网站推广建议
  • 发布网页优化seo厂家
  • 筹备网站建设企业网站推广
  • 创建网站的英语电商网
  • 17做网站郑州深圳互联网公司排行榜
  • 深圳平台型网站建设公司营销型网站策划书
  • dedecms 英文网站宁海关键词优化怎么优化
  • python一般要学多久sem优化托管
  • java实现大型门户网站开发经验seo外包
  • 中国的门户网站有哪些广东seo网站设计
  • 自己怎么做优惠搜网站seo顾问阿亮
  • 做网站的中文名字网络销售怎么做才能有业务
  • 汕头网站制作后缀百度关键词seo推广
  • 兰州做门户网站国内高清视频素材网站推荐
  • 温州网站建设前十公司领硕网站seo优化
  • 做仿牌网站空间市场seo是什么意思
  • 做网站怎么做的旅游最新资讯
  • wordpress 分类目录 插件优化大师官网
  • 郴州网东莞百度推广优化公司
  • 室内装修效果图网站有哪些seo修改器
  • 项目网站建设世界杯排名
  • 重庆购务网站建设seo项目经理
  • 百度seo整站优化公司广告联盟全自动赚钱系统
  • 海南做网站的网站关键词百度自然排名优化
  • 自己做盗版小说网站吗网站信息查询
  • 手机网站设计公司哪家好网站seo完整seo优化方案
  • 王建设的网站百度搜一搜
  • 建网站平台哪家好网域名解析ip查询