美文网首页JavaScript
js基础 - 草稿

js基础 - 草稿

作者: 将心比心_59bf | 来源:发表于2019-08-17 12:24 被阅读16次

    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操作;

    相关文章

      网友评论

        本文标题:js基础 - 草稿

        本文链接:https://www.haomeiwen.com/subject/zfttsctx.html