第一百一十一章 函数(二)

上次定义的函数不光使用起来方便,修改起来也方便,比如我在每次输出的时候都做一次 +1

const to_show_all_items = function(arr){for(const item of arr){console.log(item+1)}}const a = [1, 2, 3];const b = ['hello', 'world'];to_show_all_items(a);to_show_all_items(b);

那么对每一个数组的输出都发生了相应变化。

现在我们觉得它真的很方便了,但是还可以更好玩么?

前面只是让它做一个操作,操作完成,不需要给出什么反馈。有点你去做吧,做完不用和我汇报的意思。

但是有些事情,不是“你办事,我放心”就可以解决得了的。我给你一个数,你就把这个数加上 10,然后告诉我结果。这样的操作就必须有一个汇报了,因为我等着这个结果去做别的事情呢。

const add_ten = function(a){const result = a+10;return result;}

return 的意思是返回,返回什么呢?返回一个值,我们这里是 result 的值。这就是这个函数的返回值。我交给它一个任务,它做完后给我一个回馈,让我知道结果。是这么个意思。

可以这样调用:

const return_val = add_ten(223);console.log(return_val);

调用这个函数的时候就在期待着它的返回值,所以就准备了一个变量,告诉函数,你完成之后把结果放在这个变量里,我就可以用啦~


函数的基本概念就讲这么多,这些东西十分基础,甚至简陋,后面还有无数深层的东西我们没有去说。但是,目前这些东西差不多够我们解决日常的基础问题了,那就先用起来,用熟悉了,再去扩展,就不痛苦。

还有几个细节:

首先,虽然在 JS 里有些情况中不这样做也不报错,但是还是要求大家一定要先定义函数,再去使用它

函数的参数可以有多个,它们在小括号里的顺序很重要,因为传入参数的时候凭顺序对应形参和实参。

而返回值只能有一个,可以没有,但不能有更多。

如果需要多个返回值,可以返回数组、对象。或者对作用域更广(在函数内外都起作用)的变量进行修改、赋值。

循环中,大括号的内容如果太长,也可以定义为一个函数,然后在循环中调用。这样循环部分的结构就变得很清晰易读。

其实无论数组,还是函数,它们都属于一种对象。

而数组的项目,或者对象的属性值,也可以是一个函数。(这个后面会用到,不懂也没关系)

现在理解了这些基础概念之后,我们就可以很容易理解一些常用方法了。为了方便,JS 把某些操作定义为了函数。既然定义好了,我们就直接使用就可以了,很方便:

比如 Number(a) 可以把变量 a 的数据类型转换为数字,类似的还有 String(a) 把变量 a 的数据类型转换为字符串。

typeof(a) 返回 a 的数据类型,这就很方便我们去观察数据,不过对于数组,它会告诉你这是个对象,以及许多类似的问题……

这样实用的内置函数还有好多,大家可以慢慢扩展,别着急哦,稳扎稳打的。

© 版权声明
THE END
喜欢就支持一下吧
点赞0赞赏 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容