apply call bind&& 闭包

call: function.call(thisArg,params1,params2,...)

apply:function.apply(thisArg,[params1,params2,...])

bind: function.bind(thisArg,params1,params2,...)

call和apply传参的方式不同

bind不是立即执行,call和apply是立即执行

闭包:指有权访问另外一个函数作用域中的变量的函数,闭包可以让你可以在一个内层函数中访问到外层函数的作用域

闭包的表现形式:

1.返回一个函数,返回的函数可以调用外部函数中定义的变量

2.在定时器,事件监听,AJAX请求,web websocket或者任何异步,只要使用了回调函数,实际上就是使用闭包

3.作为函数参数传参传递的形式

4.IIFE创建闭包

闭包的缺点:

闭包使用变量会保存在内存中,不会立即释放,所以大量使用闭包会导致消耗内存,导致页面性能变差

 

posted @ 2021-08-14 21:38  千亿昔  阅读(29)  评论(0编辑  收藏  举报