复习知识点

106 阅读2分钟

闭包

定义在一个函数内部中的函数,即闭包就是能够读取其他函数内部变量的函数 本质上,就是函数内部与函数外部连接的一座桥梁

作用

  • 读取函数内部的变量
  • 让这些变量的值始终保持在内存中

注意点

  • 由于闭包使得函数中的变量都保存在内存中,内存消耗很大,不能滥用闭包否则造成网页性能问题。(解决方法:在退出函数之前,将不使用的局部变量全部删除)
  • 闭包会在父函数外部,改变父函数内部变量的值。所以,如果你把父函数当作对象(object)使用,把闭包当作它的公用方法(Public Method),把内部变量当作它的私有属性(private value),这时一定要小心,不要随便改变父函数内部变量的值。

前端自动化构建

什么是项目构建

  • 编译项目中的js,css
  • 合并js,css等文件(使用构建工具合并以后,会自动生成合并以后的文件,这样子只需要引入合并文件即可,减少资源加载的次数)
  • 压缩html,css,js等资源文件(减少文件的大小,减少内存的使用) 总之项目构建就是减少项目的重量

Grunt

一套前端自动化构建工具

Gulp

基于node.js的自动任务运行器,自动完成js,css,sass,less,html等文件的合并、压缩、检查、监听文件变化、浏览器自动刷新、测试等任务

  • 使用node.js中的stream来读取和操作数据

css预处理器

  • 文件切分 css预处理器通过编译环节将切分以后的文件重新合并成一个大文件,解决了大文件不便维护的问题,另一方面也解决了一堆小文件在加载时的性能问题。
  • 模块化
  • 选择符嵌套语法
  • 支持变量+运算
  • 函数
  • Mixin
  • 工程化 css预处理语言无法直接运行于浏览器环境,需要编译为css代码才能运行在网页之中 编译-构建-代码校验、压缩。。。