谈谈你对闭包的理解

闭包就是函数执行产生一个私有的作用域,在这个作用域中的私有变量和外界互不干扰,而且作用域不销毁,这些私有变量存储的值也都保存下来了,所有整体来说闭包就是为了保护和保存变量。
应用场景:
1.循环事件绑定,
2.单例模式管理代码:

let  xxxRender = (function () {
		return {
			init: function() {
			}
		}
	})

3.函数柯里化

Function.prototype.bind = function bind(context, ...arg) {
	return () => {
		fn.call(context, ...arg);
	}
}

你可能感兴趣的:(前端开发)