19_修改this指向.html 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>Document</title>
  8. </head>
  9. <body>
  10. <div id="div1"></div>
  11. <script>
  12. /*
  13. 区别;
  14. 1.调用方法不一样
  15. 2.call apply直接调用修改之后的方法 bind 返回的是一个方法 需要再去调用
  16. call(修改的this,参数1,参数2)
  17. apply(修改的this,[参数1,参数2])
  18. bind(修改的this,参数1,参数2)()
  19. */
  20. // var person = {
  21. // name:'zs',
  22. // age: 18,
  23. // eat: function(){
  24. // console.log(this)
  25. // }
  26. // }
  27. // person.eat()
  28. var person2 = {
  29. name:'lisi',
  30. age: 30
  31. }
  32. // person.eat.call(person2)
  33. function xx(x,y){
  34. console.log(x,y,this)
  35. }
  36. xx(1,2)
  37. xx.call(person2,1,2)
  38. xx.apply(person2,[1,2])
  39. //bind不会调用函数 返回的是一个方法
  40. xx.bind(person2,1,2)()
  41. </script>
  42. </body>
  43. </html>