摘要: 这里会输出2 熟悉闭包的都知道 这边是为了自己再度认真总结下: 一般来说函数执行完以后其内容(作用域的内容)会被垃圾回收,但是闭包可以阻止其被回收,导致上面的c变量依旧能引用foo函数的作用域. 一个小例子: 很多人会认为会分别输出1-5的数字,然而事实是会输出5个6.6是哪来的,最后一次循环之前累 阅读全文
posted @ 2018-10-27 21:06 沉默的土豆 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 从上面例子初步理解了js变量提升后再看下面个例子: 按常规逻辑大多人肯定认为会输出2 结果是undefined 为什么呢 因为只有声明本身才会被提升 赋值是不会提升的 因为赋值不是编译阶段的事情,所以上面代码等同于: 函数提升: 函数提升优先级更高: 阅读全文
posted @ 2018-10-27 20:23 沉默的土豆 阅读(93) 评论(0) 推荐(0) 编辑