继承

57 阅读1分钟
  • call和apply `

      /* call 和 apply 是用来改变this指向的 */
    
      /* call和apply都可以理解为是函数自身的方法
      第一个参数代表了 接下来this所代表的对象 */
      /* f.call(obj1) 会执行f这个方法 */
      // console.log( f.call(obj1) ) /* this=>obj1 */
      // console.log( f.call(obj2) ) /* this=>obj2 */
    
      // console.log( f.apply(obj1) ) /* this=>obj1 */
      // console.log( f.apply(obj2) ) /* this=>obj2 */
    
      /* call和apply的区别 */
      /* 使用call方法来传参 一个一个的传参 */
      // console.log( f.call(obj1,'bmw','tangc') ) /* this=>obj1 */
      /* 使用apply方法来传参 需要传一个数组 数组里面的第一个就对应了f函数里面的
      第一个参数,数组里面的第二个就对应了f函数里面的
      第二个参数 */
      // console.log( f.apply(obj1,['bmw','tangc']) )
    
      function Person(){
          this.foot = 2
      }
      function Student(){
          Person.call(this)
      }
    
      console.log( new Student() );
    

    `

  • 组合继承 `

`
  • 拷贝继承 `
`