1.ajax的优缺点
优点
- 最大的优点就是页面无需刷新,在页面内与服务器通信,非常好的用户体验。
- 使用异步的方式与服务器通信,不需要中断操作。
- 可以把以前服务器负担的工作转嫁给客户端,减轻服务器和带宽,可以最大程度减少冗余请求。
- 不需要下载插件或者小程序。
缺点
- AJAX干掉了Back和History功能,即对浏览器机制的破坏。
- 安全问题技术同时也对IT企业带来了新的安全威胁,ajax技术就如同对企业数据建立了一个直接通道。
- 对搜索引擎的支持比较弱。
2.js中“==”“三个=”区别
简单来说: == 代表相同, ===代表严格相同, 为啥这么说呢,
这么理解: 当进行双等号比较时候: 先检查两个操作数数据类型,如果相同, 则进行=比较, 如果不同, 则愿意为你进行一次类型转换, 转换成相同类型后再进行比较, 而=比较时, 如果类型不同,直接就是false.
3.请写出v-if和v-show的区别
1. v-show 只是简单的控制元素的 display 属性,而 v-if 才是条件渲染(条件为真,元素将会被渲染,条件为假,元素会被销毁);
2. v-show 有更高的首次渲染开销,而 v-if 的首次渲染开销要小的多;
3. v-if 有更高的切换开销,v-show 切换开销小;
4. v-if 有配套的 v-else-if 和 v-else,而 v-show 没有
5. v-if 可以搭配 template 使用,而 v-show 不行
4.vue-loader是什么?有什么作用?
解析和转换 .vue 文件,提取出其中的逻辑代码 script、样式代码 style、以及 HTML 模版 template,再分别把它们交给对应的 Loader 去处理。
5.vue中$set()在什么时候使用?
我们可以使用 s e t ( ) 方 法 , 既 可 以 新 增 属 性 , 又 可 以 触 发 视 图 更 新 。 t h i s . set()方法,既可以新增属性,又可以触发视图更新。 this. set()方法,既可以新增属性,又可以触发视图更新。this.set(this.data,”key”,value’)
6.vue传参的2种方式?
1.父子传参
2.子父传参
3.相邻兄弟传参(亲兄弟)
4.远兄弟传参(表兄弟)
5.通过this.$route.query对象获取
6.通过路由传参,修改路由,通过this.$route.params对象获取
7.请写出vue-router跳转和location.href的区别?
- 使用location.href=’/url’来跳转,简单方便,但是刷新了页面;
- 使用history.pushState(’/url’),无刷新页面,静态跳转;
- 引进router,然后使用router.push(’/url’)来跳转,使用了diff算法,实现了按需加载,减少了dom的消耗。
- 其实使用router跳转和使用history.pushState()没什么差别的,因为vue-router就是用了history.pushState(),尤其是在history模式下。
8.display:none和visibility:hidden两者的区别
- 如果给一个元素设置了display: none,那么该元素以及它的所有后代元素都会隐藏,它是前端开发人员使用频率最高的一种隐藏方式。
- 给元素设置visibility: hidden也可以隐藏这个元素,但是隐藏元素仍需占用与未隐藏时一样的空间,也就是说虽然元素不可见了,但是仍然会影响页面布局。