关于前端:varletconst-及-闭包和立即执行函数

6次阅读

共计 426 个字符,预计需要花费 2 分钟才能阅读完成。

立刻执行函数和闭包没有什么关系,只是两者会常常联合在一起应用而已,但两者有实质的不同。

闭包和立刻执行函数都可缩小全局变量的应用

立刻执行函数在函数申明后立刻执行,一般般只调用一次,能够缩小内存的占用

闭包是函数调用函数,次要是让内部函数能够拜访外部函数的作用域。缩小了全局变量的应用,保障了外部变量的平安。但因为被占用的外部变量不能销毁,会占用内存,减少内存耗费,使用不当会造成内存泄露。

var let const

var 全局变量,反复定义同一个变量名不会报错。存在变量前置
let 局部变量,不可反复定义同一个变量名。
const 常量,但定义一个数组或对象能够批改,因为他们是援用类型。

for(var i=0;i<5;i++){

console.log('i=', i) // 0 1 2 3 4

}
console.log(i) // 5

for(let i=0;i<5;i++){

console.log('i=', i) // 0 1 2 3 4

}
console.log(i) // i is not defined

正文完
 0