js中一些名词的理解

2018-03-13  本文已影响0人  uwenyi

IIFE,立即执行函数,我喜欢叫自执行函数


变量提升,变量可以先使用再声明,ES5中,变量和函数的声明都将被提升到函数最顶部。变量的声明可以提升,但初始化不会提升,也就是var a 可以提升,var a=2 不能提升。ES6中没有变量提升。

var fn=function(){} 函数内部变量不会提升,只有函数名fn会变量提升,只有这个函数被调用时内容才会初始化。

function fn(){}  函数内部的变量会提升,函数内部的变量会发生变量提升


异步队列,事件绑定,setTimeout等都是属于异步,js是单线程执行任务的,要在同步队列执行完后才会执行


高阶函数,一个函数作为另一个函数的参数


链式作用域,子函数可以访问父级函数的所有变量


块级作用域,ES5中,不能声明块级变量,在for循环里声明的变量,循环结束还是可以访问,可以用IIFE实现块级作用域,让循环结束后销毁变量。ES6中的let关键字声明的变量是具有块级作用域的变量


内存泄露,不再用到的内存,没有及时释放,就叫做内存泄漏

上一篇 下一篇

猜你喜欢

热点阅读