JavaScript
-
js的基本类型有哪些?引用类型有哪些?null和undefined的区别。
-
如何判断一个变量是Array类型?如何判断一个变量是Number类型?(都不止一种)
-
Object是引用类型嘛?引用类型和基本类型有什么区别?哪个是存在堆哪一个是存在栈上面的?
-
JS常见的dom操作api
-
解释一下事件冒泡和事件捕获
-
事件委托(手写例子),事件冒泡和捕获,如何阻止冒泡?如何组织默认事件?
-
对闭包的理解?什么时候构成闭包?闭包的实现方法?闭包的优缺点?
-
this有哪些使用场景?跟C,Java中的this有什么区别?如何改变this的值?
-
call,apply,bind
-
显示原型和隐式原型,手绘原型链,原型链是什么?为什么要有原型链
-
创建对象的多种方式
-
实现继承的多种方式和优缺点
-
new 一个对象具体做了什么
-
手写Ajax,XMLHttpRequest
-
变量提升
-
举例说明一个匿名函数的典型用例
-
指出JS的宿主对象和原生对象的区别,为什么扩展JS内置对象不是好的做法?有哪些内置对象和内置函数?
-
attribute和property的区别
-
document load和document DOMContentLoaded两个事件的区别
-
JS代码调试
-
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
该部分代码定义了全局变量state,并在mutations中定义了修改state的方法
import Vue from ‘vue’ // 首先导入vue
import Vuex from ‘vuex’ // 导入vuex
import * as actions from ‘./actions’ // 将actions方法导入
import * as getters from ‘./getters’ // 将getters导入
Vue.use(Vuex)
// 变量初始化
const state = {
count: 10
}
// 定义 mutations(即对变量state进行的操作)
const mutations = {
INCREMENT(state, canshu) {
state.count++
},
DECREMENT(state) {
state.count–
}
}
// 创建 store 实例(先不着急看该部分代码,该部分就是将全局变量,mutations,actions,getters整体变成一体化的实例)
export default new Vuex.Store({
actions,
getters,
state,
mutations
})
actions.js中的代码
之所以用actions去提交mutations,应该是为了是的mutations中的方法可以异步操作(mutations中方法为同步执行,该处可能会迷惑,但是其实就是用actions中的方法去调用mutations中的方法而已)。
// 用于提交mutations中的INCREMENT方法(可根据自己的需要进行传参,对应的mutaitons中要接收参数)
export const increment = ({commit}) => {
commit(‘INCREMENT’, canshu)
}
// 用于提交mutations中的DECREMENT方法
export const decrement = ({commit}) => {
commit(‘DECREMENT’)
}
getters.js中的代码
一般getters中的代码比较简单,主要就将全局变量简单封装并导出,方便其他组件的调用。
// 该处将全局变量state下的count导出,是的其他vue组件都可以获取,进行修改
export const getCount = state => {
return state.count
}
刷面试题
刷题的重要性,不用多说。对于应届生或工作年限不长的人来说,刷面试题一方面能够尽可能地快速自己对某个技术点的理解,另一方面在面试时,有一定几率被问到相同或相似题,另外或多或少也能够为自己面试增加一些自信心,可见适当的刷题是很有必要的。
开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
-
前端字节跳动真题解析
-
【269页】前端大厂面试题宝典
最后平时要进行自我分析与评价,做好职业规划,不断摸索,提高自己的编程能力和抽象思维能力。大厂面试远没有我们想的那么困难,摆好心态,做好准备,你也可以的。