JavaScript

js基础 - 草稿

2019-08-17  本文已影响16人  将心比心_59bf

1 常用es6

class类继承;箭头函数;let const;新增的数据类型Symbl;set和map;解构赋值;拓展运算符;primise;module中的export和import;对象新增的方法assign,keys,values,entries。


2 闭包

闭包是一个有访问其他函数作用域局部变量的一个函数。

是因为js中,变量的作用域属于函数的作用域,函数执行完后,作用域被销毁,变量内存也就被收回。但闭包是函数中的子函数,有权访问上级作用域,即使函数执行完,作用域也不会销毁,变量就被保存下来,此时的子函数就是闭包,就有了访问上级作用域变量的权限。

作用:闭包可以称作链接函数内部和外部的一座桥梁,主要是2个作用,可以读取函数内部的变量;

可以将变量始终保存在内存中

弊端:由于闭包的变量都保存在内存中,所以内存消耗很大,不能滥用闭包,否则会造成网页性能问题,在IE中可能会造成内存泄漏。

解决方法:退出函数之前,将不使用的局部变量全部删除。


3 primise

primise主要是解决ajax回调地狱的问题。简单来说primise是一个容器,里面保存未来才会结束的事件结果。primise是个对象,可以获取异步操作的结果。primise的状态不受外界影响并且不可逆。

primise有2种模式,primise。all将传入数组中primise全部决议之后,将决议值以数组的形式传入观察回调中,任何一个primise为拒绝,那么就会调用拒绝回调。race是将传入数组中所有primise中第一个决议值传给观察回调。

4 性能优化

使用雪碧图合成一张图片,减少http请求;

用webpack合并css和js;

减少dom操作;

上一篇下一篇

猜你喜欢

热点阅读