一、用CSS实现右边宽度固定,左边自适应
<style type="text/css">
.box{
display:flex;
}
.left{
width: calc(100% - 200px);
height: 300px;
background: blue;
}
.right{
width:200px;
height: 300px;
background: red;
}
</style>
二、介绍一下webpack和gulp,以及项目中具体的使用
gulp:是工具链、构建工具,可以配合各种插件做js压缩,css压缩,less编译 替代手工实现自动化工作
(1)构建工具
(2)自动化
(3)用于:提高效率——能够优化前端工作流程,提高工作效率
(4)自动刷新页面,雪碧图,压缩css、js,编译less,检查语法等
(5)使用gulp可以配置你需要的插件,把以前需要手工做的事情让它帮你做了
webpack:是文件打包工具,可以把项目的各种js文、css文件等打包合并成一个或多个文件,主要用于模块化方案,预编译模块的方案
(1)打包工具
(2)模块化识别
(3)用于:编译模块代码方案
总结:两者不是一个工具,不具有可比性,更不冲突
三、父子两元素同时绑定2个click事件,一个在冒泡阶段执行,一个在捕获阶段执行,执行的顺序是什么?
w3c规定了,任何发生在w3c事件模型中的事件,首是进入捕获阶段,直到达到目标元素,再进入冒泡阶段。addEventListener里面说了,false是默认的,表示的就是冒泡。捕获是从大到小,冒泡是从小到大。
绑定在被点击元素的事件是按照代码的顺序发生的,其他非绑定的元素则是通过冒泡或者捕获的触发。按照W3C的标准,先发生捕获事件,后发生冒泡事件。所以事件的整体顺序是:非目标元素捕获 -> 目标元素代码顺序 -> 非目标元素冒泡。
四、对Node的优点和缺点有什么自己的看法?
优点:
1. 采用事件驱动,异步编程,为网络服务而设计。
2. node.js非阻塞模式的IO处理给node.js带来在相对较低的资源耗用下的高性能与出众的负载能力。
3. node.js轻量高效,可以认为是数据密集型实时应用系统的完美解决方案。
4. js语言适合前端工程师上手。
5. 社区活跃发展速度快。
缺点:
1. 单线程,单进程,只支持单核CPU,不能充分的利用多核CPU服务器。
2. 对程序员要求高一旦进程崩溃,那么整个web服务器就崩溃了。
3. 不适合做复杂性很高的计算。
五、哪些操作会造成内存泄露?
内存泄漏:指一块被分配的内存既不能使用,又不能回收,直到浏览器进程结束。
(1)JS的回收机制
(2)标记清除
function test(){
var a=10;//被标记,进入环境
var b=20;//被标记,进入环境
}
test();//执行完毕之后a、b又被标记离开环境,被回收
(3)意外的全局变量引起的内存泄露
(4)闭包引起的内存泄露
网友评论