7_箭头函数.html 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  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. <ul>
  11. <li>1</li>
  12. <li>2</li>
  13. <li>3</li>
  14. </ul>
  15. <script>
  16. /*
  17. 箭头函数和普通函数的区别:
  18. 1.普通函数调用this -> window
  19. 2.箭头函数 指向声明时的this (父作用域)
  20. 箭头函数内部使用的this值是定义时所在作用域的this值
  21. 3.箭头函数 不能new
  22. 4.箭头函数 可以用rest 但是不能用arguments
  23. 5.箭头函数 不用return 表达式的结果 会自动作为返回值返回
  24. */
  25. /* !-- function fn() {
  26. } */
  27. // var fn = () => {
  28. // console.log(111)
  29. // }
  30. // fn()
  31. // var aLi = document.getElementsByTagName('li')
  32. // for (var i = 0; i < aLi.length; i++) {
  33. // aLi[i].onclick = function () {
  34. // // setTimeout(function(){
  35. // // console.log(this)
  36. // // }.bind(this),1000)
  37. // setTimeout(() => {
  38. // console.log(this)
  39. // }, 1000)
  40. // }
  41. // }
  42. /* var person = {
  43. name: 'zs',
  44. age: 18,
  45. eat: function(){
  46. // console.log(this)
  47. setTimeout(function(){
  48. console.log(this)
  49. }.bind(this),1000)
  50. // setTimeout(()=>{
  51. // console.log(this)
  52. // },1000)
  53. }
  54. }
  55. person.eat() */
  56. /* 构造函数 new
  57. 箭头函数 不能作为构造函数 不能去new
  58. */
  59. /* var Person = (name)=>{
  60. this.name = name
  61. }
  62. var p1 = new Person('zs')
  63. console.log(p1) */
  64. const fn = ()=>{
  65. // console.log(a,...rest)
  66. console.log(arguments)
  67. }
  68. fn(1,2,3)
  69. </script>
  70. </body>
  71. </html>