23.修改this指向.html 958 B

12345678910111213141516171819202122232425262728293031
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>Document</title>
  7. </head>
  8. <body>
  9. <script>
  10. function fn1(x,y) {
  11. var sum = x +y;
  12. console.log(sum,'sum');
  13. console.log(this,'this')
  14. console.log(this.name,'name')
  15. }
  16. var obj = {
  17. name:"图图"
  18. }
  19. fn1(3,4);
  20. // fn1.apply(obj,[3,4]);
  21. // fn1.call(obj,3,4);
  22. fn1.bind(obj,3,4)();
  23. /**
  24. * call,bind,apply
  25. * 1.call和apply可以立即调用 但是bind无法立即调用
  26. * 2.bind和call传参相同,第一个参数是要修改的this指向 第二个参数是函数中正常的传参
  27. * 3.apply 第一个参数是要修改的this指向 第二个参数是函数中正常的传参,但是需要以数组形式呈现
  28. */
  29. </script>
  30. </body>
  31. </html>