昨天参加了第一次面试,记录面试题 ,随时复盘,查漏补缺。
一、get和post区别
get用来获取数据,post用来提交数据
二、css选择器
Id选择器、类选择器、属性选择器、伪类选择器、标签选择器、通配符
三、js原型和原型链
1.原型:每一个构造函数创建时,他本身有一个prototype 属性,这个属性值是一个对象,这个对象中包含了一些属性和方法,由同类构造函数创建的实例都可以共享这个对象里面的属性和方法,这就是原型对象。可以通过Object.getPrototypeOf() 方法,可以通过这个方法来获取对象的原型。
2.原型链:当我们访问对象的一个属性或方法时,它会先在对象自身中寻找,如果有则直接使用,如果没有则会去原型对象中寻找,如果找到则直接使用。如果没有则去原型的原型中寻找,直到找到Object对象的原型,Object对象的原型没有原型,如果在Object原型中依然没有找到,则返回undefined。这样寻找形成的链条就叫做原型链。
四、什么是html5离线储存(✘)
正确回答:在用户设备没有与网络连接时可以正常访问站点,当有网络连接时,更新设备上的缓存文件。是根据appcache里的解析清单来存储资源数据,没有网络连接时设备就根据这些资源渲染网页。方法是在html 头部设置 manifest 属性
五、闭包
在一个函数内部访问另外一个函数的数据,这样可以延长数据的生命周期
六、异步和同步
js是单线程,会首先执行同步任务,将异步任务放到任务队列,当同步任务执行完毕后再执行异步任务
七、解决跨域的方法有哪些
我的回答:我只用过设置代理这一种方法
八、父组件如何向子组件传值
1、父组件向子组件传值
父组件中:给子组件的标签绑定上值(key和vlaue)
子组件中:用props接收,以数组或对象(需声明类型)的形式均可
2、子组件向父组件传值
子组件中:定义一个事件,通过this.$emit(‘事件名称’,数据)让父组件监听到自定义事件
父组件中:在子组件标签上定义一个事件,名称就是自定义事件名称,值在方法中使用并传入子组件的数据,就可以对数据进行操作了
九、vue如何获取dom
1.利用选择器获取
2.给dom加ref=“name”,使用this.$refs.name获取
十、vue双向数据绑定是怎么实现的
Vue 内部通过 Object.defineProperty 方法属性拦截的方式,把 data 对象里每个数据的读写转化成 getter/setter,当数据变化时通知视图更新
十一、vue的核心点是什么(✘)
正确回答:1.数据驱动 2.组件化系统
十二、vue的常用组件库
pc端:element-ui 移动端:vant
十三、第一次页面加载触发了哪几个钩子
beforeCreate, created,
beforeMount, mounted
十四、created和mounted的区别是什么
created在模板渲染前调用,用来初始化属性值
mounted在模板渲染后调用,用来操作属性值
十五、vuex有哪几个参数(说了俩)
我的回答:state、mutations
正确回答:
1、state:管理数据;
2、getters: 相当于state的计算属性;
3、mutations: 提交更新数据的方法(同步)
4、action:提交更新数据的方法(异步)
5、modules: 模块化vuex