Discuss / JavaScript / 学习小结

学习小结

Topic source
/*
注:以下将function(){...} 函数定义中的“...”此部分内容称为函数主体或主体
*/
  1. call函数
Student.call(this, props); // 将this绑定到Student构造函数主体,获得Student构造函数的主体并执行。
  1. 原型继承
PrimaryStudent.prototype = new F(); // F原型将会覆盖PrimaryStudent原有原型,但不会影响PrimaryStudent的主体
  1. new关键字创建对象
var xiaoming = new PrimaryStudent({
    name: '小明',
    grade: 2
}); // xiaoming将获得PrimaryStudent原型的完整复本,并将参数传入PrimaryStudent主体同时执行PrimaryStudent的主体程序段,最后为new出的对象创建__proto__指向PrimaryStudent原型
// F原型将会覆盖PrimaryStudent原有原型,但不会影响PrimaryStudent的主体

描述为:

// new出的F对象将会覆盖PrimaryStudent原有原型,但不会影响PrimaryStudent的主体

注:new出的F对象与F构造函数原型的内容是完全相同的,但是在堆中并不是同一个对象,所以这两者用“===”运算符进行比较时得到的结果是false。

更正:

注:在后续使用new关键字创建出的新的F对象与PrimaryStudent构造函数原型的内容是完全相同的,但是在堆中并不是同一个对象,所以这两者用“===”运算符进行比较时得到的结果是false。


  • 1

Reply