1.post和get的区别
1)功能不同
1、get是从服务器上获取数据。
2、post是向服务器传送数据。
2)过程不同
1、get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。
2、post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。
3)获取值不同
1、对于get方式,服务器端用Request.QueryString获取变量的值。
2、对于post方式,服务器端用Request.Form获取提交的数据。
4)传送数据量不同
1、get传送的数据量较小,不能大于2KB。
2、post传送的数据量较大,一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB。
5)安全性不同
1、get安全性非常低。
2、post安全性
2.你所知道的http的响应码及含义
200:正确的请求返回正确的结果
404:请求的内容不存在。
403:请求的资源不允许访问。就是说没有权限。
500:服务器内部错误,服务器遇到错误,无法完成请求
503:服务不可用,服务器目前无法使用(由于超载或停机维护)。通常,这只是暂时状态
(以上响应码是我做项目时遇到比较多的)
3.javascript有几种类型
有9种数据类型:1、字符串类型,是一段以引号包裹起来的文本;2、数值类型,用来定义数值;3、布尔类型,只有两个值;4、Null类型,表示一个“空”值,即不存在任何值;5、Undefined类型,表示未定义;6、Symbol类型,表示独一无二的值;7、对象类型,是一组由键、值组成的无序集合;8、数组类型,是一组按顺序排列的数据的集合;9、函数类型,是一段具有特定功能的代码块。
JavaScript 中的数据类型可以分为两种类型:
- 基本数据类型(值类型):字符串(String)、数字(Number)、布尔(Boolean)、空(Null)、未定义(Undefined)、Symbol;
- 引用数据类型:对象(Object)、数组(Array)、函数(Function)
4.vue中v-if和v-show的区别
(1)、v-if和v-show用于视图层进行条件判断视图展示
(2)、v-if的原理是根据判断条件来动态的进行增删DOM元素,v-show是根据判断条件来动态的进行显示和隐藏元素,频繁的进行增删DOM操作会影响页面加载速度和性能
(3)、只有v-if能和v-else连用进行分支判断,v-show是不能和v-else连用的,如果出现多种条件场景的情况下,可以使用v-if来进行判断
5.v-model的原理
v-model只不过是一个语法糖而已,真正的实现靠的还是
- v-bind:绑定响应式数据
- 触发oninput 事件并传递数据
6.vue之间的数据传递
1.父传子:通常就用最简单的props传递的方式
2.子索取父 也可比喻成父传子:$parent/$children
3.子传父:使用props传递函数,通过函数的参数传递
4.子传父:使用$emit自定义方式传递
5.任意组件之间传递:全局事件总线eventbus
6.任意组件之间传递:借助有关插件使用消息订阅与发布
7.provide/inject
8.子传父 ref/$ref
9.终极解决方案:Vuex
7.列举vue的几种常用指令
v-once:只会执行一次渲染,当数据发生改变时,不会再变化
v-show:接受一个表达式或一个布尔值。相当于给元素添加一个display
属性
v-if、v-else、v-else-if:v-if和v-show有同样的效果,不同在于v-if
是重新渲染,而v-show
使用display
属性来控制显示隐藏。频繁切换的话使用v-show
减少渲染带来的开销
v-for:可用来遍历数组、对象、字符串。
v-text:渲染字符串,会覆盖原先的字符串
v-html:
渲染为html。{{}}
双大括号和v-text
都是输出为文本。那如果想输出为html。
v-bind:是用可以将标签内的属性值解析成js代码,在标签的属性中使用v-bind,双引号里的内容会被当作js解析(只能解析变量或三元表达式)
v-on:用于事件绑定
v-model:数据双向绑定指令,限制在 <input>、<select>、<textarea>
、components中使用
8.v-for中为什么要用key作为唯一标识?为什么不能用index做唯一标识
key值作为唯一标识,唯一标识可以是item里面id等,因为vue组件高度复用增加key可以标识组件的唯一性,为了更好的区分各个组件key的作用主要是为了高效的更新虚拟DOM,使用key值,它会基于key的变化重新排列元素顺序,并且会移除key不存在的元素。它也可以用于强制替换元素/组件而不是重复的使用它.
当以数组为下标的index作为key值时,其中一个元素(例如增删改查)发生了变化就有可能导致所有的元素的key值发生改变
9.说一下懒加载(按需加载路由)
1.vue异步组件技术 ==== 异步加载
2.路由懒加载(使用import)
3.webpack提供的require.ensure()
10.vue-router中query与params区别
1.首先就是写法得不同,query 得写法是 用 path 来编写传参地址,而 params 得写法是用 name 来编写传参地址
2.接收方法不同, 一个用 query 来接收, 一个用 params 接收 ,总结就是谁发得 谁去接收
3.query 在刷新页面得时候参数不会消失,而 params 刷新页面得时候会参数消失,可以考虑本地存储解决
4.query 传得参数都是显示在url 地址栏当中,而 params 传参不会显示在地址栏