美文网首页
前端面试题大全

前端面试题大全

作者: 有一个程序媛 | 来源:发表于2022-03-22 16:11 被阅读0次

1. 判断一个变量是数组有几种方式?

(1) instanceof ,原型判断,写法:变量 instanceof Array
(2) __proto__,原型判断,写法:变量.__proto__ === Array.prototype
(3) constructor,原型判断,写法:变量.constructor === Array
(4) .prototype.toString,通过object类型的副属性class去判断的其中函数的class是Function,结果是[object Function], 普通的对象是Object,结果是[object Object],写法:Object.prototype.toString.call(变量) === '[object Array]'
(5) Array.isArray,es6新增的方法,写法:Array.isArray(变量)

2.tree-shaking原理

参考原网址详解,十分详细,清晰明了
https://zhuanlan.zhihu.com/p/127804516

3.flex布局的详解

https://www.runoob.com/w3cnote/flex-grammar.html

4.vue.nextTick原理

Vue.nextTick 的原理和用途 - 知乎

5.css垂直居中的方法

https://www.cnblogs.com/qianxiaoPro/p/14276519.html

6.ES5的继承和ES6的继承有什么区别?

ES5的继承时通过prototype或构造函数机制来实现。ES5的继承实质上是先创建子类的实例对象,然后再将父类的方法添加到this上(Parent.apply(this))。

ES6的继承机制完全不同,实质上是先创建父类的实例对象this(所以必须先调用父类的super()方法),然后再用子类的构造函数修改this。

具体的:ES6通过class关键字定义类,里面有构造方法,类之间通过extends关键字实现继承。子类必须在constructor方法中调用super方法,否则新建实例报错。因为子类没有自己的this对象,而是继承了父类的this对象,然后对其进行加工。如果不调用super方法,子类得不到this对象。

ps:super关键字指代父类的实例,即父类的this对象。在子类构造函数中,调用super后,才可使用this关键字,否则报错。

7.浏览器渲染页面的过程

https://www.cnblogs.com/tootwo2/p/7208890.html

相关文章

网友评论

      本文标题:前端面试题大全

      本文链接:https://www.haomeiwen.com/subject/kdbwhrtx.html