2020 3.2

 1.call apply bind()相同点和不同点
       相同点 都可以改变this的指向
       不同点 没有参数的情况下
       call  改变谁直接打. 调用  person.getAge.call(person1) 
       apply 改变谁直接打. 调用  person.getAge.apply(person2) 
       bind()需要加小括号()才能调用person.getAge.bind(person3)() 

 

         有参数的情况下
         call方法应该将要传的参数一一写出,写成数组则会认为是只传递了一个参数
         apply方法要传递的参数要写成数组形式,如果一一列出用逗号隔开,则会报错
         bind的参数与call方法一样,一一列出,写成数组被认为只传递了一个参数,必须在后加小括号执行调用
        
          this的四个绑定方式
          1.直接绑定方式(默认绑定方式)  优先级别最低    
          2.隐士绑定方式
          3.显示绑定方式   利用call apply bind() 改变this指向
          4.new的绑定方式   new的绑定方式>显示绑定方式>隐士绑定方式>默认绑定方式   在隐士绑定方式中,出现连续性的对象方法操作时,this采用就近原则
posted @ 2020-03-02 21:08  李糊糊  阅读(118)  评论(0编辑  收藏  举报