最近面试的知识点?

1.vue 如何实现双向绑定? data和computed的区别? 生命周期?css

当你把一个普通的 JavaScript 对象传给 Vue 实例的 data 选项,Vue 将遍历此对象全部的属性,并使用 Object.defineProperty 把这些属性所有转为 getter/setter。这些 getter/setter 对用户来讲是不可见的,可是在内部它们让 Vue 追踪依赖,在属性被访问和修改时通知变化。每一个组件实例都有相应的 watcher 实例对象,它会在组件渲染的过程当中把属性记录为依赖,以后当依赖项的 setter 被调用时,会通知 watcher 从新计算,从而导致它关联的组件得以更新!vue

1.data属性的值,不会随赋值变量的改动而改动。若是要改变这个属性的值,则须要直接给data属性赋值,视图上对这个属性的显示才会变。webpack

2.computed属性,属于持续变化跟踪。在computed属性定义的时候,这个computed属性就与给它赋值的变量绑定了。改变这个赋值变量,computed属性值会随之改变。es6

生命周期  beforeCreted create  beforeMount  mounted   beforeUpdated  updated  activated  deactivated  beforeDestroy  destroyed  errorCaptured  web

2.vue router link后面加参数?vue-router

const User = {
  props: ['id'],
  template: '<div>User {{ id }}</div>'
}
const router = new VueRouter({
  routes: [
  { path: '/user/:id', component: User, props: true },gulp

// 对于包含命名视图的路由,你必须分别为每一个命名视图添加 `props` 选项
  ]  
})promise

2..object的方法?cookie

Object.assign()  浅拷贝less

object.defineProperty()  直接在一个对象上定义新的属性或修改现有属性,并返回该对象。

object.toString()

object.valueof()

3.cookie和localstroage的区别?

4. http get和post的区别?

5.webpack和gerunt的区别?

一、grunt
gulp是工具链、构建工具,能够配合各类插件作js压缩,css压缩,less编译 替代手工实现自动化工做
(1)构建工具
(2)自动化
(3)提升效率用
二、webpack
webpack是文件打包工具,能够把项目的各类js文、css文件等打包合并成一个或多个文件,主要用于模块化方案,预编译模块的方案
(1)打包工具
(2)模块化识别
(3)编译模块代码方案用

6.兼容

7.同源策略

8.跨越

9.promise

10.es6的知识点

11 seajs和requirejs区别?

1.RequireJS在主文件里是将全部的文件同时加载,然而SeaJS强调一个文件一个模块。
2.AMD推崇依赖前置,CMD推崇依赖就近。

 12 vue-router的原理 是利用h5的history  属性 hash

13 event loop 是事件循环 

js是一个单线程,全部的任务都须要排队,任务分为同步任务和异步任务,同步任务进入主线程 ,作完一件事之后在作下一件事  异步是不进入主线程的,而进入【任务队列】的任务,只有任务队列通知主线程,某个异步任务要执行了,主线程才会执行,主线程从"任务队列"中读取事件,这个过程是循环不断的,因此整个的这种运行机制又称为Event Loop

 

14 .宏任务 微任务

先执行宏任务 在执行微任务

宏任务macrotask:
(事件队列中的每个事件都是一个macrotask)
优先级:主代码块 > setImmediate > MessageChannel > setTimeout / setInterval
好比:setImmediate指定的回调函数,老是排在setTimeout前面

微任务包括:优先级:process.nextTick > Promise > MutationObserver

相关文章
相关标签/搜索