前端基础知识总结

首先,我是非常排斥靠记忆东西来应对面试,但是,有时候我们虽然在用一些东西,而面试中问到了我们没有表达出来,或者因为对概念记忆不深,就导致某次面试,记忆卡壳,导致明明自己会的东西也没回答上来,就会导致场面很尴尬,所以好记性不如烂笔头,总结下前端基础知识以备忘。

以下知识不像常见的搬运网上的文章,而是经过了自己的总结和实践。

JavaScript

继承

JS 里最常用的继承方式是原型链继承,通常通过 prototype 关键字来实现,prototype 属性使你有能力向对象添加属性和方法。

function people(name,job,age) {
  this.name = name;
  this.job = job;
  this.age= age;
}

var bill = new people("Bill Gates","Engineer",50);

people.prototype.salary = null;
bill.salary = 20000;
console.log(bill.salary);    // output 20000

ES6 的 class 也支持用 extends 关键字来实现继承:

class B extends A

我们用 prototype 实现 B 继承 A 的方式 如下:

function A() {
  this.arr = [1, 2]
}

function B() {
}

B.prototype = new A();