| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 | <!DOCTYPE html><html lang="en"><head>  <meta charset="UTF-8">  <meta http-equiv="X-UA-Compatible" content="IE=edge">  <meta name="viewport" content="width=device-width, initial-scale=1.0">  <title>Document</title></head><body>  <div id="div1"></div>  <script>    /*     区别;    1.调用方法不一样    2.call  apply直接调用修改之后的方法  bind 返回的是一个方法 需要再去调用    call(修改的this,参数1,参数2)    apply(修改的this,[参数1,参数2])    bind(修改的this,参数1,参数2)()        */    // var person = {    //   name:'zs',    //   age: 18,    //   eat: function(){    //     console.log(this)    //   }    // }    // person.eat()    var person2 = {      name:'lisi',      age: 30    }    // person.eat.call(person2)    function xx(x,y){      console.log(x,y,this)    }    xx(1,2)    xx.call(person2,1,2)    xx.apply(person2,[1,2])    //bind不会调用函数  返回的是一个方法    xx.bind(person2,1,2)()  </script></body></html>
 |