学习时间 完成时间 ✅ 重难点 疑问/遗漏
复习时间

原型

JavaScript 只有一种结构:对象。每个实例对象( object )都有一个私有属性(称之为 proto )指向它的构造函数的原型对象(prototype )。该原型对象也有一个自己的原型对象( proto ) ,层层向上直到一个对象的原型对象为 null。根据定义,null 没有原型,并作为这个原型链中的最后一个环节。

原型:prototype
原型prototype是function构造函数的一个属性,数据类型也为对象

  1. function Handphone(){
  2. this.color='red';
  3. this.brand='小米';
  4. this.screen='18:9';
  5. this.system='Android';
  6. }
  7. Handphone.prototype.rom='64G';
  8. var hp1=new Handphone('red','小米');
  9. var hp2=new Handphone('black','华为');
  10. //prototype是定义构造函数构造出来的每个对象的公共祖先
  11. //所有被该构造函数构造出的对象都可以继承原型上的属性和方法
  12. constructor->指向构造函数本身
  13. function Car() {
  14. var this={
  15. __proto__:Car.prototype //car.__proto__===Car.prototype
  16. }
  17. }
  18. var car=new Car()
  19. 当构造函数被实例话的时候,构造函数就会创建this
  20. Car.prototype.contructor = Car;
  21. Car.prototype.name='Benz';
  22. function Car(){}
  23. var car=new Car();
  24. Car.prototype={
  25. name:'Mazda'
  26. }
  27. console.log(car.name) //Benz
  28. Car.prototype.constructor==Car()
  29. //js插件的写法
  30. ;(function(){ //使用立即执行函数,可以防止全局污染
  31. function Test(){
  32. }
  33. window.Test=Test;
  34. })()
  35. var test=new Test();