前端面试题(三)

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 传参不会显示在地址栏

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值