登录  /  注册
博主信息
博文 94
粉丝 0
评论 0
访问量 89418
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
【JS】 JS 函数参数:多值返回-对象封装
可乐随笔
原创
787人浏览过

JS 函数参数

  1. let f = (a, b) => `${a}+${b}=${a + b}`
  2. console.log(f(1, 2))
  3. console.log('----------------')

1. 参数不足

  1. f = (a, b = 10) => `${a}+${b}=${a + b}`
  2. console.log(f(1))
  3. console.log('----------------')

2. 参数过多: …(rest)

  1. f = (a, b, ...arr) => arr
  2. console.log(f(1, 2, 3, 4, 5))
  3. f = (...arr) => arr
  4. console.log(f(1, 2, 3, 4, 5))
  5. f = (...arr) => arr.reduce((acc, cur) => acc + cur)
  6. console.log(f(1, 2, 3, 4, 5, 6))
  7. // ? ... 用在参数中是压入数组,用在数组中是"展开"操作
  8. let args = ['HTML', 'css', 'js']
  9. console.log(`已学了 ${[...args]} 课程`)
  10. console.log('=========================')

3.多值返回

  • 遇到return 即返回,忽略后面的代码
  • return 只返回一个数据,即’单值返回’
  • 前面所有演示都是单值返回,下面演示多值返回
  1. function a() {
  2. return 'aaa'
  3. console.log('bbbb')
  4. }
  5. console.log(a())
  6. // ?其实""多值返回"还是返回单位,只不过返回的是一个集成或数组的"引用类型"
  7. // ?常用多值返回的引用类型:数组 和对象,或二都兼有
  8. // 1. 返回一组商品信息
  9. const items = () => [
  10. { id: 1, name: '笔记本' },
  11. { id: 2, name: '打印机' },
  12. { id: 3, name: '手机' }
  13. ]
  14. console.log(items())
  15. // 2. 对象返回一些信息
  16. // 模板封装(IIFE)立即执行函数
  17. const user = ((uname, email) => ({
  18. uname,
  19. email,
  20. print() {
  21. return `${this.uname}:${this.email}`
  22. }
  23. }))('老李', 'nx99@qq.com')
  24. console.log(user.uname)
  25. console.log(user.email)
  26. console.log(user.print)

为什么要多此一举呢,为什么不直接定义一个user对象呢?

  1. 立即执行函数创建的是临时作用域,不会污染全局环境,(对全局隐身)
  2. 用户拿到时,模块已经有了初始状态,即已具备可用的属性和方法
  3. 对于用户来说,模块是一个对象,其实模块是一个函数
  4. 函数是有作用域的,所以模块也有了作用域,关于模块作用域,后面有介绍
  5. 实际工作的模块比这个复杂的多,更多采用””注入式”,感兴趣同学,可以进阶

总结

1.参数不足:默认参数
2.参数过多: …rest
3.多值返回: 数组,对象

本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学