前端面试总结三【8道题】

前端面试总结三

28.vue中computed和watch的区别是什么?
computed用来监控自己定义的变量,该变量不在data里面声明,直接在computed里面定义,然后可以在网页中进行双向绑定展示出结果或其他作用
watch主要用于监控vue实例的变化,它监控的变量必须在data中声明才可以,可以监控一个变量,一个对象一般用于监控路由,input输入框的值特殊处理等,不具有缓存性

watch:监测的是属性值, 只要属性值发生变化,其都会触发执行回调函数来执行一系列操作。
computed:监测的是依赖值,依赖值不变的情况下其会直接读取缓存进行复用,变化的情况下才 会重新计算。

除此之外,有点很重要的区别是:计算属性不能执行异步任务,计算属性必须同步执行。也就是说计算 属性不能向服务器请求或者执行异步任务。如果遇到异步任务,就交给侦听属性。watch 也可以检测 computed 属性。
29.vue中怎么实现父子,子父,兄弟之间传值的?
父向子传值通过props属性传值,props只读
子向父传值 e m i t t h i s . emit this. emitthis.emit(arg1,arg2) arg1:父组件中的方法名字,arg2:要传出的值
兄弟之间传值:兄弟之间需要一个中间值,称之为bus

this.bus. e m i t ( " t o B r o t h e r " , t h i s . t o ) ; 接受 t h i s . b u s . emit("toBrother", this.to); 接受 this.bus. emit("toBrother",this.to);接受this.bus.on(‘toBrother’,msg => {
this.get = msg;
})
30.什么是vuex,谈谈你对它的理解?
vuex用于管理页面的数据状态,相当于数据库,任何组件都可以从仓库中获取数据。在大型复杂项目中,需要实现一个组件更改某个数据,多个组件自动获取更改后的数据进行业务逻辑处理,这时候使用vuex比较合适。
那么怎么安装使用vuex呢?
1.首先 安装vuex
cnpm install vuex -save
2. 在src目录下创建store文件夹
3. 在store文件夹内创建index.js文件
4. 在index.js 文件内引入 vue 和注册vuex
import Vue from “vue”
import Vuex from “vuex”
5.对vuex进行实例化 并导出
const store = new Vuex({
核心配置
})
export default store
6. 将store配置到vue实例中

怎么用vuex?
vuex五大核心属性:state,getter,mutation,action,module
state:存储数据,存储状态;在根实例中注册了store 后,用 this. s t o r e . s t a t e 来访问;对应 v u e 里面的 d a t a ;存放数据方式为响应式, v u e 组件从 s t o r e 中读取数据,如数据发生变化,组件也会对应的更新。 g e t t e r s :可以认为是 s t o r e 的计算属性,它的返回值会根据它的依赖被缓存起来,且只有当它的依赖值发生了改变才会被重新计算。 m u t a t i o n :更改 V u e x 的 s t o r e 中的状态的唯一方法是提交 m u t a t i o n 。 t h i s . store.state 来访问;对应vue里面的data;存放数据方式为响应式,vue组件从store中读取数据,如数据发生变化,组件也会对应的更新。 getters:可以认为是 store 的计算属性,它的返回值会根据它的依赖被缓存起来,且只有当它的依赖值发生了改变才会被重新计算。 mutation:更改 Vuex 的 store 中的状态的唯一方法是提交 mutation。 this. store.state来访问;对应vue里面的data;存放数据方式为响应式,vue组件从store中读取数据,如数据发生变化,组件也会对应的更新。getters:可以认为是store的计算属性,它的返回值会根据它的依赖被缓存起来,且只有当它的依赖值发生了改变才会被重新计算。mutation:更改Vuexstore中的状态的唯一方法是提交mutationthis.store.commit
action:包含任意异步操作,通过提交 mutation 间接更变状态。this.$store.dispatch(“方法名”,要传的值)
module:将 store 分割成模块,每个模块都具有state、mutation、action、getter、甚至是嵌套子模块。
31.数据类型的判断有哪些?
typeOf()只能检测基本的数据类型 instanceOf()能检测引用类型
32.知道symbol吗?
ES6引入的原始数据类型Symbol,表示独一无二的值
32.谈谈盒子模型?
在标准盒模型中,width和height是内容区域的宽度和高度,增加padding和border不影响内容的尺寸,会增加元素总尺寸
IE盒子中,width和height是内容区域+border+padding
33.promise 是什么?它有哪些作用?
promise是一个对象,从它可以获取异步操作的消息;从本意上讲,它是承诺,承诺它过一段时间会给你一个结果。promise有三种状态: pending(等待态),fulfiled(成功态),rejected(失败态);状态一旦改变,就不会再变。创造promise实例后,它会立即执行。
34.get和post请求有哪些区别?
GET:一般用于信息获取,使用 URL 传递参数,对所发送信息的数量也有限制,一般在 2000 个字符
POST:一般用于修改服务器上的资源,对所发送的信息没有限制。
35、一个页面从输入 URL 到页面加载显示完成,这个过程中都发生了什么?
01.浏览器查找域名对应的 IP 地址(DNS 查询:浏览器缓存->系统缓存->路由器缓存->ISP DNS 缓存->根 域名服务器)
02.浏览器向 Web 服务器发送一个 HTTP 请求(TCP 三次握手)
03.服务器 301 重定向(从 example.com 重定向到 www.example.com)
04.浏览器跟踪重定向地址,请求另一个带 www 的网址
05.服务器处理请求(通过路由读取资源)
06.服务器返回一个 HTTP 响应(报头中把 Content-type 设置为 ‘text/html’)
07.浏览器进 DOM 树构建
08.浏览器发送请求获取嵌在 HTML 中的资源(如图片、音频、视频、CSS、JS 等)
09.浏览器显示完成页面
10.浏览器发送异步请求

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值