博客列表 >JS中变量常量与函数的声明与使用过程,为什么不推荐用var

JS中变量常量与函数的声明与使用过程,为什么不推荐用var

Stonegarlic
Stonegarlic原创
2022年11月13日 18:40:24361浏览

1101作业

  1. // * 2. 变量 let
  2. // 声明 + 初始化(第1次赋值)
  3. // let a
  4. // a = 100
  5. let a = 100
  6. console.log('a =', a)
  7. // 更新(第2次及以上的赋值)
  8. a = 200
  9. console.log('a =', a)
  10. // * 3. 常量 const
  11. const USER_NAME = '张三'
  12. console.log('USER_NAME =', USER_NAME)
  13. // 常量禁止更新
  14. /**
  15. * var 三大硬伤
  16. * 1. 声明提升: 未声明可使用
  17. * 2. 重复声明: 声明式更新很奇葩
  18. * 3. 变量泄露: 不支持代码块
  19. */

实际效果

  1. // ! 函数
  2. // * 1. 命名函数
  3. // 调用: 声明前,成功了,说明函数声明提升到了代码顶部
  4. console.log(sum1(3, 4))
  5. // 声明
  6. function sum1(a, b) {
  7. return 'a + b = ' + (a + b)
  8. }
  9. // 调用: 声明后
  10. console.log(sum1(1, 2))
  11. console.log('-------------')
  12. // ? 必须遵循"先声明,后使用"原则,声明提升违背了该原则
  13. // * 2. 匿名函数
  14. // const ,let 没有声明提升的效果
  15. // console.log(sum2(7, 8))
  16. const sum2 = function (a, b) {
  17. return 'a + b = ' + (a + b)
  18. }
  19. console.log(sum2(5, 6))
  20. console.log('-------------')
  21. // 以后, 首选匿名函数
  22. // * 3. 箭头函数
  23. // 匿名函数的语法糖(简化)
  24. // 语法: 删除function, (...)=>{...}
  25. let sum3 = (a, b) => {
  26. return 'a + b = ' + (a + b)
  27. }
  28. console.log(sum3(9, 10))
  29. // 只有一条return ,可不写 {...}
  30. sum3 = (a, b) => 'a + b = ' + (a + b)
  31. console.log(sum3(10, 11))
  32. // 只有一个参数, (...)也可不写
  33. sum3 = username => 'Hello, ' + username
  34. console.log(sum3('朱老师'))
  35. // 没有参数, (...)必须写
  36. sum3 = () => 'Hello, 王老师'
  37. // _ 也是一个合法变量标识符
  38. // sum3 = _ => 'Hello, 王老师'
  39. console.log(sum3())
  40. console.log('-------------')
  41. // ! 箭头函数与匿名函数的最大区别: 没有自己的this
  42. // * 4. 立即执行函数 (IIFE)
  43. // 一个语法,用 (...) 包住 就转为"表达式"
  44. let res = (function (a, b) {
  45. return 'a + b = ' + (a + b)
  46. })(60, 30)
  47. console.log(res)
  48. /**
  49. * * 1. 命名函数: 标识符
  50. * * 2. 匿名函数: 变量/常量
  51. * * 3. 箭头函数: 匿名函数语法糖
  52. * * 4. IIFE: 一次性,常用作模块或封装
  53. */

实际效果

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议