13_例题.html 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  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. <script>
  11. // var a = 1
  12. // var obj = {
  13. // a: 3,
  14. // fun: function () {
  15. // return () => { console.log(this.a) }
  16. // }
  17. // }
  18. // obj.fun()()
  19. // 3 3 3
  20. // var a = 1
  21. // var obj = {
  22. // a: 3,
  23. // fun: () => {
  24. // return function () {
  25. // console.log(this.a)
  26. // }
  27. // }
  28. // }
  29. // obj.fun()()
  30. //3 3 3 3 1
  31. var name = 'window'
  32. function Person(name) {
  33. this.name = name
  34. this.foo1 = function () {
  35. console.log(this.name);
  36. }
  37. this.foo2 = () => {
  38. console.log(this.name)
  39. }
  40. this.foo3 = function () {
  41. return function () {
  42. console.log(this.name);
  43. }
  44. }
  45. this.foo4 = function () {
  46. return () => {
  47. console.log(this.name);
  48. }
  49. }
  50. }
  51. var person1 = new Person('person1')
  52. var person2 = new Person('person2')
  53. person1.foo1() //p1
  54. person1.foo1.call(person2) //p2
  55. person1.foo2() // p1
  56. person1.foo2.call(person2)//p1
  57. person1.foo3()() //window
  58. person1.foo3.call(person2)() // window
  59. person1.foo3().call(person2) //p2
  60. person1.foo4()() // p1
  61. person1.foo4.call(person2)() // p2
  62. person1.foo4().call(person2) //p1
  63. //p1 p2 p1 p1 win win p2 p1 p2 p1
  64. </script>
  65. </body>
  66. </html>