1、js的forEach和map的区别
map会返回一个新的数组,而forEach不会- foreach 可以跳出循环,
return语句可以当前回调函数中返回,而 map 不能,只能遍历完整个数组。 - foreach 不支持链式调用,而 map 支持链式调用,可以继续对返回的新数组进行操作。
2、 keep-alive 中的生命周期有哪些
keep-alive 是 Vue 提供的一个内置组件,用来对组件进行缓存,在组件切换过程中将状态保留在内存中,防止重复渲染 DOM。 如果为一个组件包裹了 keep-alive,那么它会多出两个生命周期:deactivated、activated。同时,beforeDestroy 和 destroyed 就不会再被触发了,因为组件不会被真正销毁。 当组件被换掉时,会被缓存到内存中、触发 deactivated 生命周期; 当组件被切回来时,再去缓存里找这个组件、触发 activated 钩子函数。
3、 created 和 mouted 区别
created 生命周期钩子函数会在组件实例被创建之后立即调用,但是此时组件的模板还没有被渲染成 HTML,因此在这个时候不能访问组件中的 DOM 元素。
mounted 生命周期钩子函数则会在组件的模板被渲染成 HTML 之后调用,这个时候可以访问组件中的 DOM 元素。通常在这个钩子函数中进行异步请求数据、初始化插件、订阅事件等操作。
总之,created 钩子函数适用于组件初始化时需要进行一些操作,而 mounted 钩子函数适用于需要操作组件的 DOM 元素时。