day43 项目卖座网及面试题复习
二阶段面试题:
1.new操作符做了什么
2.闭包是什么
5.有没有封装过组件 说下封装过程 和思路?
请说下封装 vue 组件的过程
1. 建立组件的模板,先把架子搭起来,写写样式,考虑好组件的基本逻辑。(os:先思考1小时,写代码10分钟 )
2. 准备好组件的数据输入。即分析好逻辑,定好 props 里面的数据、类型。考虑好组件需要什么类型的插槽 考虑以下是否需要sync修饰符 是否需要来回的回调函数传递 。
3. 准备好组件的数据输出。即根据组件逻辑,做好要暴露出来的方法。自我测试 做好之后交给同事进行引入
4. 封装完毕了,直接调用即可
6浅谈web性能优化
1.减少dom操作减少重绘和回流
2.减少http请求
3.尽量使用link引入样式
4.可以对页面的静态资源进行压缩
5.可以对网页资源进行缓存
HTML 语义化就是让⻚⾯的内容结构化,便于对浏览器、搜索引擎解析;
在没有样式 CSS 情况下也以⼀种⽂档格式显示,并且是容易阅读的。
搜索引擎的爬⾍依赖于标记来确定上下⽂和各个关键字的权重,利于 SEO 。
使阅读源代码的⼈对⽹站更容易将⽹站分块,便于阅读维护理解
8.ES6有哪些新增的特性
bind ,apply,call 改变this指向
数组增强:
Array.of ,from,findindex
字符串增强:
string.include,startwith,endwith,repeat,
函数增强:
函数默认值
箭头函数
对象增强:
object.key,value,entire,is,assign
对象遍历for in
数组遍历for of
解构,扩展运算符
class 类
set 和 map的数据解构
9.es7的新增特性
10.什么是jsonp
是一种非官方解决跨域的方案
利用sricpt标签没有跨域限制的漏洞 标签指向一个需要访问的地址并提供一个回调函数来接收数据
11.如何理解vue是一个渐进式的框架
12.JS的严格模式和非严格模式有什么区别
变量命名必须要有修饰符 函数内部this不指向window 函数内部的arguments形参不同步 禁止在非函数代码块内声明函数 禁止八进制
13.vue中keepalive有什么作用
用于缓存组件,如果该组件还会再启用,那么可以使用keep-alive进行组件缓存和优化,提高性能,缓存的组件不需要销毁,也不需要再创建
14.对比jquery和vue的区别