美文网首页
骚气的陷阱

骚气的陷阱

作者: 16孙一凡通工 | 来源:发表于2017-05-15 23:21 被阅读0次

先看一段代码

` var funcs = [ ];
for (var i = 0; i < 10; i++)
{ funcs.push(function() { console.log(i) }) }

funcs.forEach(function(func)
{
func()
})
`

乍一看,以为输出 0~9 ,结果调试一看输出10个10。
So why?
首先,你要理解闭包的概念,其中你应该理解()才是函数执行部分,

那么引出了我要提出
的两个解决方案,其中一个就是ec5闭包
var funcs = [ ] for (var i = 0; i < 10; i++) { funcs.push( (function(value) { return function() { console.log(value) } })(i) ) } funcs.forEach(function(func) { func() } )
此时,我们push进去的是一个函数作用域,那么对于funcs,
自然可以输出0~9 ,
第二种方案即es6提供的箭头函数,
var funcs = [ ] for (var i = 0; i < 10; i++) { funcs.push( (function(value) { return function() { console.log(value); } })(i) ) } funcs.forEach(fun=>fun())
原理与之类似。

相关文章

  • 骚气的陷阱

    先看一段代码 ` var funcs = [ ];for (var i = 0; i < 10; i++){ fu...

  • 用js代码实现一个键盘

    声明:我也是在其他地方发现的这段神奇的代码 很骚气~很骚气~很骚气~很骚气~很骚气~很骚气~很骚气~ 运行这段代码...

  • 程序员需要骚

    骚气! 自信! 热爱生活! 无所畏惧。 驾轻就熟! 骚气,自信满满。

  • 骚气

    邻居来了个小会计,女孩儿二十二岁,开着一辆红色私家车。看样子一定是家境殷实的家庭的孩子。 小会计的年龄不大却显出与...

  • 骚气的猫

    深夜,某小区内,我独自漫步。 回头,发现一只穿着黑色外衣、白色打底衫的小猫,不知何时尾随着我。我展开笑颜,向它微笑...

  • 骚气的弟弟

    弟弟上初一,学习成绩不怎么好。 大年三十的那天,他缠着我给他发红包,被我一口回绝。但他软磨硬泡,还放言说这么大的人...

  • “骚气”的牙齿

    闭上眼睛,你可以想象一下,那似乎永不停息的嗡嗡声,伴着消毒水类的辛辣气味,仔细听过去还有丝丝痛苦的呻吟。 所以我们...

  • “骚气”的牙齿

    闭上眼睛,你可以想象一下,那似乎永不停息的嗡嗡声,伴着消毒水类的辛辣气味,仔细听过去还有丝丝痛苦的呻吟。 所以我们...

  • “骚气”的牙齿

    闭上眼睛,你可以想象一下,那似乎永不停息的嗡嗡声,伴着消毒水类的辛辣气味,仔细听过去还有丝丝痛苦的呻吟。 所以我们...

  • 骚气的男人

    说男人骚起来就没女人什么事了,我说男人那嘴碎起来也没女人啥事了。 办公室一个最年轻的80后博士,很喜欢说他的老婆儿...

网友评论

      本文标题:骚气的陷阱

      本文链接:https://www.haomeiwen.com/subject/kcskxxtx.html