zoukankan      html  css  js  c++  java
  • 模块

    最近写的文章有点多,主要关注前端的一些内容,把当前的理解做个简单的记录

    如果要说模块,首先要说明这个东西解决了什么问题,其实我是觉得这个东西主要起两个作用

    1、隔离 2、封装

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

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

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

    现在的ES6非常强大,已经原生支持模块操作,也就是不再需要第三方的依赖,这是一个非常好的消息。在说明模块化之前,我首先想说一下JS的异步。

    如果想把异步说清楚,需要专门列出一章,但是,至少其中的一些基本思路要了解。所谓异步,就是把某些操作挪到队列中,调用函数返回,当得到结果之后再回过来处理。
    那么,我们需要知道的理论是,是谁支持异步?这个问题问的太蠢了,当然是浏览器V8引擎。有时候,为什么要说这些简单的问题,就是因为我们首先要把谁是谁这样的基本问题缕清楚

    简单说,你写一个异步语句,是V8引擎能支持这么做才会异步。

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

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

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

  • 相关阅读:
    1924班网址
    20192414《网络空间安全导论》第一周学习总结
    H-Angry
    A-Plague Inc
    B-Rolling The Polygon
    F-Moving On
    A-Maximum Element In A Stack
    J-Word Search
    E-Pawns
    D-Lift Problems
  • 原文地址:https://www.cnblogs.com/tinaluo/p/13875422.html
Copyright © 2011-2022 走看看