Da'sBlog

前端面试题-谈谈你对模块化的理解

点评

很多面试公司会问一下,你对模块化的理解。表面上很简单,,但却可以评测出一个人对于前端工程化的认识,实际能力,和学习能力。所以需要充分的准备。切记不可随口回答。一场战斗的胜利去决定于站前的准备。

为什么需要模块,什么是组件化。它们之间有什么区别?

首先我们需要从语义上明白什么是模块

模块,英文名module。又称构件,是能够单独命名并独立地完成一定功能的程序语句的集合(即程序代码和数据结构的集合体)。它具有两个基本的特征:外部特征和内部特征。外部特征是指模块跟外部环境联系的接口(即其他模块或程序调用该模块的方式,包括有输入输出参数、引用的全局变量)和模块的功能;内部特征是指模块的内部环境具有的特点(即该模块的局部数据和程序代码)。

两个重点,一,它有一个接口,二,它内部程序不对外访问。

简单理解,模块就是多个函数的集合…………

再简单点,模块就是手机,里面跑着各种各样的程序,我们通过触摸控制。触摸屏就是我们的接口,里面程序就是内部特征。

还是有点抽象。我们写个小程序。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function phone() {
function weChat() {
console.log('我是不插它');
}
function touch() {
weChat();
}
return {
ctltouch: touch
}
}
var iphone8 = phone();
iphone8.ctltouch(); //VM230:3 我是不插它

待续

坚持原创技术分享,您的支持将鼓励我继续创作!