知识点梳理

Vue

你是如何理解Vue构建的“单页面”应用的(怎么理解单页面)?

单页面(MPA)  单页面应用只有一个页面,浏览器加载主页时加载所有的资源,通过hash值的改变来表示究竟要展示哪个组件。
给window注册onhashchange事件,当哈希值改变时通过location.hash就能获得相应的哈希值,然后就能跳到相应的页面
多页面(MPA)  就是指一个应用中有多个页面,页面跳转时是整页刷新
url地址是由:协议名 域名 端口号 路径 哈希值组成
优点:
		1. 用户体验好,快,内容的改变不需要重新加载整个页面,对服务器压力较小
		2. 前后端分离,易于开发
		3. 完全的前端组件化,前端开发不再以页面为单位,更多地采用组件化的思想,代码结构和组织方式更加规范化,便于修改和调整
缺点:
		1. 不支持低版本的浏览器,最低只支持到IE9;
		2. 不利于SEO的优化(如果要支持SEO,建议通过服务端来进行渲染组件);
		3. 第一次加载首页耗时相对长一些;不可以使用浏览器的导航按钮需要自行实现前进、后退。

Vue的双向绑定是如何实现的?在平时的项目中你在哪儿应用双向绑定比较多?

vue数据双向绑定是通过数据劫持结合发布者-订阅者模式的方式来实现的,
通过Object.defineProperty()对其get和set进行重写操作,
get是在读取name属性这个值触发的函数,set是在设置name属性这个值触发的函数。

Vue的指令有哪些?

1. v-text 		v-text主要用来更新textContent,可以等同于JS的text属性。
<span v-text="msg"></span>
2. v-html		双大括号的方式会将数据解释为纯文本,而非HTML。为了输出真正的HTML,可以用v-html指令。它等同于JS的innerHtml属性。
<div v-html="rawHtml"></div>
3.  v-pre    主要用来跳过这个元素和它的子元素编译过程。可以用来显示原始的Mustache标签。跳过大量没有指令的节点加快编译。
<div id="app">
    <span v-pre>{{message}}</span>  //这条语句不进行编译
    <span>{{message}}</span>
</div>
4.  v-cloak    用来保持在元素上直到关联实例结束时进行编译

讲一下Vue的虚拟DOM原理?
你是如何理解Vue的MVVM架构的?
组件传值有哪几种方式?具体是如何实现的?
ue-router有哪几种使用模式?它们的区别是什么
和JQuery做对比的话,你觉得vue的优势和劣势在哪里
v-show与v-if的区别
**v-show:**操作的是元素的display属性
**v-if:操作的是元素的创建和插入
相比较而言v-show的性能要高
** methods、computed、watch三者的区别

methods是个方法,执行的时候需要事件进行触发
computed是一个计算属性,是实时响应的,只要data中的属性发生了变化那么就会触发computed,计算属 性是基于属性的依赖进行缓存的,methods调用的时候需要加(),而computed调用的时候是不需要加()
watch属性监听,watch用来监听属性的变化,当值发生变化的时候来执行特定的函数,watch监听属性的时候 会有2个参数newVal和oldVal一个新值一个旧值
vue中自定义指令如何使用
Vue.directive():
参数1:指令名称
参数2:指令实现的函数,在回调函数中第一次参数是指令绑定的元素,参数二是一个对象其中对象中有value 属性代表的是表达式返回的结果,还有modifiers属性是指令的修饰符
vue中组件创建的方式有哪些?
全局组件和局部组件
全局组件 Vue.component();参数1:组件名称 参数2:组件的配置项
局部组件 new Vue({ components:{} key值为组件名称 val值为组件的配置项 })
vue中的过滤器如何使用
Vue.filter()
参数1:过滤器名称
参数2:过滤器实现的方法 该方法中有2个参数 参数1为需要过滤的数据,参数2为过滤器传递的参数
如何实现父子组件传值、非父子组件传值
父组件传递子组件:通过属性进行传递 接受用props属性进行接受。 props属性用来接收外部属性。 在父组件中当子组件当作标签使用的时候给子组件添加属性,值为需要传递的值。在子组件内部通过props 进行接受。接受的方式有2种,第一种为数组接受,第二种为对象接受,推荐用第二种,对象形式的可以限制数据的类型
子组件传父组件
在父组件中当子组件当作标签使用的时候给子组件绑定自定义方法,子组件通过this.$emit()进行触发。注意 自定义方法是不需要加()的

请说出vue中生命周期函数(钩子函数)

JS

  1. 平时经常用到JS数组的哪些方法?
  2. 平时经常用到JS数组的哪些方法?
  3. 你常用到的ES6哪些新特性?
  4. ES6中的模板字符串是如何定义的?
  5. 比较一下var和let的区别

http网络传输:

  1. http和https之间的区别
  2. http和https之间的区别
  3. 建立TCP连接有几次握手,断开连接有几次挥手

CSS

  1. 如何理解盒模型,它有几种实现方式,区别在哪里
  2. webpack是如何实现按需加载的

webpack是如何实现按需加载的

  1. webpack是如何处理模块之间的关系的,原理是什么
  2. webpack是如何实现按需加载的

前端性能优化

  1. 平时在写项目的过程中有用到哪些优化的方法,例举一下并说一下原理

Jquery

  1. 说说你理解的JQ
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值