面试题

es6 新特性

let  cont  箭头函数  

var

  1. -支持全局、函数作用域

  2. -接受重复声明

  3. -变量预解析

let

  1. -不接受重复声明

  2. -不存在变量提升

  3. -支持块作用域(es6新提出的概念)

const

  1. -特性同let

  2. -用来声明常量,一旦声明不能更改

 

 

Vue 生命周期

创建前后

挂载前后

更新前后

销毁前后

Vue 的优缺点

优点用户体验好, 内容改变不需要重新加载页面

前后端分离 架构清晰

缺点

首次加载比较慢

seo 比较差

vuex 使用场景

音乐播放  购物车,

Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。每一个 Vuex 应用的核心就是 store(仓库)。“store” 基本上就是一个容器,它包含着你的应用中大部分的状态 ( state )。

(1)Vuex 的状态存储是响应式的。当 Vue 组件从 store 中读取状态的时候,若 store 中的状态发生变化,那么相应的组件也会相应地得到高效更新。

(2)改变 store 中的状态的唯一途径就是显式地提交 (commit) mutation。这样使得我们可以方便地跟踪每一个状态的变化。

主要包括以下几个模块:

  • State:定义了应用状态的数据结构,可以在这里设置默认的初始状态。

  • Getter:允许组件从 Store 中获取数据,mapGetters 辅助函数仅仅是将 store 中的 getter 映射到局部计算属性。

  • Mutation:是唯一更改 store 中状态的方法,且必须是同步函数。

  • Action:用于提交 mutation,而不是直接变更状态,可以包含任意异步操作。

  • Module:允许将单一的 Store 拆分为多个 store 且同时保存在单一的状态树中。

 闭包的好处

(1)希望一个变量长期驻扎在内存当中(不被垃圾回收机制回收)

(2)避免全局变量的污染

(3)私有成员的存在

(4)安全性提高

最擅长的技能是啥?

 

apply()和call()的区别

apply:最多只能有两个参数——新this对象和一个数组argArray。

call:它可以接受多个参数,第一个参数与apply一样,后面则是一串参数列表。

ajax请求的时候get 和post方式的区别

答案:

一个在url后面 ,一个放在虚拟载体里面

get有大小限制(只能提交少量参数)

安全问题

应用不同 ,请求数据和提交数据

事件委托是什么

答案: 利用事件冒泡的原理,让自己的所触发的事件,让他的父元素代替执行!

闭包的优缺点是什么?

优点是不产生全局变量,实现属性私有化缺点是闭包中的数据会常驻内存,在不用的时候需要删除,否则会导致内存溢出(内存泄漏)。

vue父组件向子组件传递数据?
答:通过props
子组件像父组件传递事件?
答:$emit方法

v-show和v-if指令的共同点和不同点?
答: 共同点:都能控制元素的显示和隐藏;
不同点:v-show本质就是通过控制css

            v-if是动态的向DOM树内添加或者删除DOM元素

<keep-alive></keep-alive>的作用是什么?
答:keep-alive 是 Vue 内置的一个组件,可以使被包含的组件保留状态,或避免重新渲染。

分别简述computed和watch的使用场景
答:computed:
    当一个属性受多个属性影响的时候就需要用到computed
    最典型的栗子: 购物车商品结算的时候
watch:
    当一条数据影响多条数据的时候就需要用watch
    栗子:搜索数据

$nextTick的使用
答:当你修改了data的值然后马上获取这个dom元素的值,是不能获取到更新后的值,
你需要使用$nextTick这个回调,让修改后的data值渲染更新到dom元素之后在获取,才能成功。

引进组件的步骤
答: 在template中引入组件;
在script的第一行用import引入路径;
用component中写上组件名称。

new操作符的作用是什么?

作用如下:

(1)创建一个空对象。

(2)由this变量引用该对象

(3)该对象继承该函数的原型(更改原型链的指向)

(4)把属性和方法加入到this引用的对象中。

(5)新创建的对象由this引用,最后隐式地返回this,

讲解一下 JavaScript对象的几种创建方式。

有以下创建方式:

(1) Object构造函数式。

(2)对象字面量式。

(3)工厂模式。

(4)安全工厂模式。

(5)构造函数模式。

(6)原型模式。

(7)混合构造函数和原型模式。

(8)动态原型模式。

(9)寄生构造函数模式。

(10)稳妥构造函数模式。

 

v-model 的原理?

我们在 vue 项目中主要使用 v-model 指令在表单 input、textarea、select 等元素上创建双向数据绑定,我们知道 v-model 本质上不过是语法糖,v-model 在内部为不同的输入元素使用不同的属性并抛出不同的事件:

  • text 和 textarea 元素使用 value 属性和 input 事件;

  • checkbox 和 radio 使用 checked 属性和 change 事件;

  • select 字段将 value 作为 prop 并将 change 作为事件。

 

Vue组件封装过程

● 首先,使用Vue.extend()创建一个组件

● 然后,使用Vue.component()方法注册组件

● 接着,如果子组件需要数据,可以在props中接受定义

● 最后,子组件修改好数据之后,想把数据传递给父组件,可以使用emit()方法

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值