面试——其他篇
询问工作经历,在项目中如何做性能优化的? content方面* 减少HTTP请求:合并文件、CSS精灵、inline Image* 减少DNS查询:DNS查询完成之前浏览器不能从这个主机下载任何任何文件。方法:DNS缓存、将资源分布到恰当数量的主机名,平衡并行下载和DNS查询* 避免重定向:多余的中间访问* 使Ajax可缓存* 非必须组件延迟加载* 未来所需组件预加载* 减少DOM元素数量* 将资源放到不同的域下:浏览器同时从一个域下载资源的数目有限,增加域可以提高并行下载量* 减少iframe数量* 不要404 Server方面* 使用CDN* 添加Expires或者Cache-Control响应头* 对组件使用Gzip压缩* 配置ETag* Flush Buffer Early* Ajax使用GET进行请求* 避免空src的img标签 Cookie方面* 减小cookie大小* 引入资源的域名不要包含cookie css方面* 将样式表放到页面顶部* 不使用CSS表达式* 使用不使用@import* 不使用IE的Filter Javascript方面* 将脚本放到页面...
面试——js篇
import 和 require 导入的区别 require 是 AMD规范引入方式;import是es6的一个语法标准,如果要兼容浏览器的话必须转化成es5的语法 require是运行时调用,所以require理论上可以运用在代码的任何地方;import是编译时调用,所以必须放在文件开头 本质上,require是赋值过程,其实require的结果就是对象、数字、字符串、函数等,再把require的结果赋值给某个变量;而import是解构过程,但是目前所有的引擎都还没有实现import,我们在node中使用babel支持ES6,也仅仅是将ES6转码为ES5再执行,import语***被转码为require; import的原理 简单说就是闭包的运用 为了创建module的内部作用域,会调用一个包装函数 包装函数的返回值也就是module向外公开的api,也就是所有export出去的变量 import也就是拿到module导出变量的引用 commonjs 和 es module区别? commonJs是被加载的时候运行,esModule是编译的时候运行 commonJs输出...





