~$ 存档

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

最近写的文章有点多,主要关注前端的一些内容,把当前的理解做个简单的记录
如果要说模块,首先要说明这个东西解决了什么问题,其实我是觉得这个东西主要起两个作用

1、隔离 2、封装

首先说隔离,这也是大家常说的,小明声明一个变量,小李也声明一个同名的变量,造成命名冲突。有了模块之后,两个人写的东西是相互隔离的,就避免了命名冲突。
封装,也比较容易理解。比如说,我写了一个数学计算模块Math.js,包括了各种运算方法,这样封装在一起层次就比较清晰

那么模块就主要起这两个作用

下面,开始慢慢的把思路缕清楚

现在的ES6非常强大,已经原生支持模块操作,也就是不再需要第三方的依赖,这是一个非常好的消息。在说明模块化之前,首先想说一下JS的异步。
如果想把异步说清楚,需要专门列出一章,但是,至少其中的一些基本思路要了解。所谓异步,就是把某些操作挪到队列中,调用函数返回,当得到结果之后再回过来处理。
简单说,写一个异步语句,是V8引擎能支持这么做才会异步。

好了,现在首先来个例子:

<input id='btn' type='button' value='复杂计算'/>
<script>
    document.getElementById('btn').onclick=async evt=>{
        //计算复杂的操作
    }
</script>

看这个例子,点击页面的某个按钮,在以前就是挂载一个click方法,时过境迁,到了ES6,我们可以在这个方法上面加一个async。这个关键字实在太强大了!
因为可以把这个方法异步处理,比方说,假如需要点击之后进行某个耗时或者CPU密集计算时,就不用

 

posted on 2020-10-25 21:38  LuoTian  阅读(124)  评论(0编辑  收藏  举报