位置: 编程技术 - 正文

理解javascript模块化(简述javascript)

编辑:rootadmin

推荐整理分享理解javascript模块化(简述javascript),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:简述javascript,javascript 模块,如何理解javascript,简述javascript,javascript 模块,简述javascript,简述javascript,javascript的理解,内容如对您有帮助,希望把文章链接给更多的朋友!

模块化是一个通用的编程最佳实践。程序的模块化使我们可以更方便地使用别人的代码,想要什么功能,就加载什么模块,从而提高代码的利用效率,增加开发速度。

模块就像积木,有了它,我们可以搭出各种各种功能样式的程序。积木有什么特点?小而简单。同样的,我们程序中的模块也要做到这一点,确保自己创建的函数一次只完成一个工作,这样其他开发者可以简单地调试与修改你的代码,而不需浏览所有代码才能弄清每一个代码块执行了什么功能。只有做到像这样地小而简单,才能实现其通用功能。

一、javascript模块化的方法1、函数封装JavaScript的作用域就是基于函数的,所以我们可以把函数作为模块。

缺点:"污染"了全局变量,无法保证不与其他模块发生变量名冲突

2、对象

缺点:会暴露所有模块成员,内部状态可以被外部改写

立即自执行函数——推荐

二、小而简单关于小而简单,我们看一个例子,比如我们现在想编写一个创建新链接的函数,并且为类型是"mailto"超链接添加一个class。可以这样做:

这样写能够工作,但你或许会发现自己又不得进行其他的功能添加,于是,这个函数又不适用了。所以,函数越特殊,越难以适用于不同情形。这里的函数写法没有达到模块化的要求——一个函数只干一件事。我们将函数改编下:

这里createLink函数只做一件事——创建并返回要添加到页面中的a标签(小而简单),这样我们就可以在任何需要创建超链接的情况下调用这样函数。

理解javascript模块化(简述javascript)

三、CommonJS在浏览器环境下,没有模块也不是特别大的问题,毕竟网页程序的复杂性有限;但是在服务器端,一定要有模块与操作系统和其他应用程序互动,否则根本没法编程。虽然JavaScript在web端发展这么多年,但是第一个流行的模块化规范却由服务器端的JavaScript应用带来,CommonJS规范是由NodeJS发扬光大,这标志着JavaScript模块化编程正式登上舞台。node.js的模块系统,就是依据CommonJS规范实现的。在CommonJS中,有一个全局性方法require(),用于加载模块。加载模块:

var math = require('math');调用模块:

math.add(2,3)CommonJS规范不适用于浏览器环境,因为它存在一个重大的局限,上例中第二行math.add(2, 3)必须要在math.js加载完成后才能运行,而模块都放在服务器端,所以可能要等很长时间,等待时间取决于网速的快慢。

CommonJS规范适用于服务器端,因为对于服务端来说,所有的模块都存放在本地硬盘,可以同步加载完成,等待时间就是硬盘的读取时间

四、模块应该怎么定义和怎么加载&#;AMDAsynchronous Module Definition异步模块定义,主要代表:require.js目的:(1)实现js文件的异步加载,避免网页失去响应;(2)管理模块之间的依赖性,便于代码的编写和维护。

1、定义模块

2、加载模块

CMDCommon Module Definition通用模块定义,CMD规范是国内发展出来的。主要代表:sea.js

1、定义模块

2、加载模块

seajs.use("../static/hello/src/main")区别:

对于依赖的模块,AMD 是提前执行,CMD 是延迟执行。不过 RequireJS 从 2.0 开始,也改成可以延迟执行(根据写法不同,处理方式不同)。CMD 推崇 as lazy as possible.

CMD 推崇依赖就近,AMD 推崇依赖前置。

标签: 简述javascript

本文链接地址:https://www.jiuchutong.com/biancheng/375979.html 转载请保留说明!

上一篇:javascript函数自动执行常用方法汇总(javascript函数自调用)

下一篇:Boostrap模态窗口的学习小结(简述bootstrap中模态框的javascript方法)

  • 待抵扣进项税额和待认证进项税额的区别
  • 外购产品视同自产产品办理免抵退税的条件?
  • 企业所得税减免优惠政策
  • 一般纳税人劳务票一般开几个点
  • 金税盘维护费全额抵扣吗
  • 金蝶余额调节表怎么看当月的
  • 金蝶k3如何设置凭证保存自动新增
  • 会计账本需要装订的有哪些
  • 单位借款是否纳税
  • 销售成本包括销售部门
  • 印花税的计税依据怎么算公式
  • 可供出售金融资产会计处理
  • 预提土地使用税的分录
  • 法院一直扣着我的钱不给可以起诉他吗
  • 企业清算时未抵扣的进项税账务处理
  • 收到客户不要的定金怎么做账?
  • 实收资本未到位可以注销吗?
  • 工资预支怎么做账,影响个税吗?
  • 一般纳税人如何零申报
  • 营改增后建筑业税率变化情况
  • 客运服务费怎么开票
  • 未达起征点的个体户个人所得税
  • 增值税缴纳计入成本吗
  • 城市维护建设税的计税依据是什么
  • 数量和单价的乘积
  • 分期付款购买商品房后续没钱还怎么办
  • 监证方什么意思
  • 2021windows10专业版
  • dir852迅雷路由器
  • win11怎么让任务栏不重叠
  • 公司收到的应收股利需要分配利润吗
  • 两台mac怎么一起用
  • Yosemite使用技巧 如何使用Yosemite mac信息功能共享电脑屏幕教程
  • 给子公司开票 总公司付款
  • 纳税人解除劳动合同补偿
  • 成本核算流程会议记录
  • 融资租入的设备为什么属于资产
  • 往来款项账务处理
  • broken pipe write failed
  • 北极野生动物
  • 银行存款账面余额与银行账户余额
  • vue设置宽度
  • 使用php进行mysql数据库编程的基本步骤
  • 现金溢余和短缺的会计分录
  • 车辆购置税是税前还是税后
  • SQLite3 API 编程手册
  • 应税销售行为有哪些
  • 长期借款的会计分录怎么写
  • sqlserver根据查询结果创建表
  • 现金流量表的编制公式 计算公式
  • 房产税征收标准2020
  • 进项抵扣怎么操作
  • 加油票和过桥过路费怎么做账
  • 工厂没给工人买社保我们应该找哪个部门
  • 政府补贴递延收益的摊销时间
  • 员工体检费发票怎么入账
  • 进项税额抵扣好还是不抵扣好
  • 企业建账的法律规定
  • mysql5.7.32免安装教程
  • windows server 2003 密钥
  • 如何利用批处理实现更改ip修改
  • windows7中ie浏览器怎么打开
  • win10预览版退回正式版
  • linux中的find的用法
  • ExtJS4 Grid改变单元格背景颜色及Column render学习
  • python3.7内置模块
  • windows visual studio openGL开发环境配置
  • jquery获取表格一列的值
  • unity intercom
  • 解析函数
  • 关于批处理的说法错误的是
  • 批处理命令显示内容
  • js 单击弹出对话框
  • 发票缴销办理流程图
  • 特斯拉购车补贴2023苏州
  • 开票信息哪里查询
  • 你认为作为一名护士应具备哪些素质
  • 耕地占用税 税额
  • 12月份医保没有到账
  • 固定资产处置要开票交税么
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设