箭头函数

  1. // ES6 允许使用 ·箭头· (=>) 定义函数
  2. // 声明一个函数
  3. //
  4. // let fn = (a, b) => {
  5. // return a + b
  6. // }
  7. //
  8. // console.log(fn(1, 2))
  9. // 1.this 是静态的, this 始终指向函数声明时所在作用域下的 this 的值
  10. function getName() {
  11. console.log(this.name)
  12. }
  13. let getName2 = () => {
  14. console.log(this.name)
  15. }
  16. // 设置 window 对象的 name 属性
  17. window.name = '尚硅谷'
  18. const school = {
  19. name: 'ATGUIGU'
  20. }
  21. //直接调用
  22. // getName()
  23. // getName2()
  24. //call 方法调用
  25. getName.call(school)
  26. getName2.call(school)
  27. // 2.不能作为构造实例化对象
  28. // let Person = (name, age) => {
  29. // this.name = name
  30. // this.age = age
  31. // }
  32. //
  33. // let me = new Person('xiao',30)
  34. // console.log(me)
  35. // 3.不能使用 arguments 变量
  36. // let fn = () => {
  37. // console.log(arguments)
  38. // }
  39. //
  40. // fn(1,2,3)
  41. // 4.箭头函数的简写
  42. // 1.省略小括号,当形参有且只有一个的时候
  43. // let add = n => {
  44. // return n + n
  45. // }
  46. // console.log(add(9))
  47. // 2.省略花括号,当代码体只有一条语句的时候,此时 return 必须省略
  48. // 而且语句的执行结果就是函数的返回值
  49. let pow = n => n*n
  50. console.log(pow(9))