1.垂直居中的方式
margin-left和margin-top自身宽度的一半和transform:translate(-50%,-50%),有什么区别
在对于没有设置高度,高度由内容撑起来的盒子上有什么区别,这种盒子可以使用什么方式垂直水平居中
2.说一下原型链和闭包,闭包的作用
class classA{
constructor(){
this.a = 'hello'
}
}
classA.prototype.a = 'world'
const obj = new classA()
obj.a = 'x'
console.log(obj.a) // x
delete obj.a
console.log(obj.a) // world
delete obj.a
console.log(obj.a) // world
obj.a = undefined
console.log(obj.a) //undefined
3.es6 模块化和commonJs有什么区别
二者在tree shaking上有什么区别
Tree Shaking只支持ES6模块的使用,不支持require这种动态引入模块的方式。
4.es6的新特性有哪些
5.proxy有什么特点
6.中间件的原理了解吗
const middleware = new MymiddleWare()
middleware.use(function(next){
console.log('foo')
next()
console.log('bar')
})
middleware.use(function(next){
console.log('hid')
next()
console.log('hiv')
})
middleware.run()
输出结果
7.原生设计一个dialog,需要设计哪些部分
设计后如何使用
考察代码设计能力及代码使用规范
8.算法题,将字符串(以“.”分割)变成深层嵌套的对象
9.数组去重--obj.hasOwnProperty()能不能去掉(NAN、null 、undefined、true)等等
#面经##好未来面试##秋招##前端#