聊一聊编程中的函数

简介: 聊一聊编程中的函数

说到函数,我们在数学上经常用到函数,在数学上函数的定义是这样的:


给定一个数集A,假设其中的元素为x。现对A中的元素x施加对应法则f,记作f(x),得到另一数集B。假设B中的元素为y。则y与x之间的等量关系可以用y=f(x)表示。我们把这个关系式就叫函数关系式,简称函数。


函数概念含有三个要素:定义域A、值域C和对应法则f。其中核心是对应法则f,它是函数关系的本质特征。


在学习程序设计的时候也经常用到函数,在计算机函数中,函数是指一段在一起的、可以做某一件事儿的程序。也叫做子程序、(OOP中)方法。我们在程序设计中,将一些常用的功能模块编写成函数,放在函数库中进行调用,要善于利用函数,可以减少重复编写代码所带来的工作量。


比如在JavaScript中,这里有一个语句,类似于只要这个程序满足一定条件以后,就执行一个功能,而且这个条件满足了很多次或者是很多条件都满足这个条件,要是这个代码要这样写的话就会产生很多重复语句,这种就叫耦合,我们在编写程序的时候要实现低耦合,所以就要采用函数。


在JavaScript中函数声明就是:function test() {},其中test是函数名,我们可以把上面的几个语句放在函数里面,每次满足条件的时候我们就可以直接调用。


其中函数名的起名方式和变量差不多,如果函数名包含了多个单词,其中第一个单词首字母小写,后面的单词首字母都要大写。


函数的组成形式包括函数名称和参数,其中参数不是一定需要。但是有了参数才使函数变得更加有用,比如说我们在函数名后面的小括号内添加了两个形式参数a和b,其实就相当于在函数体内声明了两个变量。在函数执行的时候可以在括号里上传两个实际参数,最后得到的结果就是3。


在函数中还有一个比较重要的语句叫return,他是函数的结束条件加返回值,当函数识别到return时,整个函数就会终止。另一个功能就是返回值。就比如说

 

    function sum() { 
    return 123;
    }
    var num = sum();

    此时我们打印num,就会出现123。


    一个较大的程序一般应分为若干个程序块,每一个模块用来实现一个特定的功能。所有的高级语言中都有子程序这个概念,用子程序实现模块的功能。在C语言中,子程序的作用是由一个主函数和若干个函数构成。由主函数调用其他函数,其他函数也可以互相调用。同一个函数可以被一个或多个函数调用任意多次。在程序设计中,常将一些常用的功能模块编写成函数,放在函数库中供公共选用。要善于利用函数,以减少重复编写程序段的工作量。

    目录
    相关文章
    |
    2月前
    |
    人工智能 数据挖掘 程序员
    探索编程的奥秘:从逻辑到实践
    在这篇文章中,我将分享我的技术感悟,特别是关于编程的学习与实践。通过通俗易懂的语言和条理清晰的结构,希望能启发编程新手,帮助他们理解编程的本质,并激发他们进一步探索的兴趣。
    |
    2月前
    |
    算法 编译器 C++
    【C++篇】领略模板编程的进阶之美:参数巧思与编译的智慧
    【C++篇】领略模板编程的进阶之美:参数巧思与编译的智慧
    96 2
    |
    3月前
    |
    JavaScript 前端开发 Python
    探索编程的本质:从代码到哲学的奇妙旅程
    该文档指导如何安装NodeJS及PyExecJS。首先从官网下载并安装NodeJS,验证安装是否成功可通过命令`node --version`检查版本。PyExecJS则通过`pip install PyExecJS`进行安装。安装后,通过Python导入`execjs`模块可查看执行JS的环境,并使用`eval`和`compile`函数执行JavaScript代码或编译JS脚本。具体案例展示了简单的JS执行与环境选择方法。
    18 1
    |
    3月前
    |
    程序员 开发者
    编程之路:从代码中寻找人生哲理
    【9月更文挑战第3天】在编程的世界里,每一行代码都承载着程序员的智慧和汗水。本文将通过分享个人的技术感悟,探讨如何在编程过程中找到人生的启示。我们将一起回顾那些令人难忘的编程时刻,以及它们如何影响了我们的思考方式和生活态度。无论你是编程新手还是资深开发者,这篇文章都将带你领略编程的魅力,并从中汲取人生的智慧。
    |
    4月前
    |
    存储 编译器 数据处理
    【编程秘籍】解锁C语言数组的奥秘:从零开始,深入浅出,带你领略数组的魅力与实战技巧!
    【8月更文挑战第22天】数组是C语言中存储同类型元素的基本结构。本文从定义出发,详述数组声明、初始化与访问。示例展示如何声明如`int numbers[5];`的数组,并通过下标访问元素。初始化可在声明时进行,如`int numbers[] = {1,2,3,4,5};`,编译器自动计算大小。初始化时未指定的元素默认为0。通过循环可遍历数组,数组名视为指向首元素的指针,方便传递给函数。多维数组表示矩阵,如`int matrix[3][4];`。动态数组利用`malloc()`分配内存,需用`free()`释放以避免内存泄漏。掌握这些技巧是高效数据处理的基础。
    78 2
    |
    3月前
    |
    设计模式 机器学习/深度学习 存储
    探索编程的本质:从代码到创造力
    本文通过深入探讨编程的基本原理和实践,揭示编程不仅仅是技术操作,更是一种思维训练和创造力的表达。我们将从基础的数据结构与算法入手,逐步过渡到设计模式和架构理念,最终探讨编程在现实世界中的应用和创新潜力。
    |
    4月前
    |
    敏捷开发 设计模式 测试技术
    代码之禅:从技术实践中领悟软件开发的本质
    【7月更文挑战第41天】 在数字世界的浪潮中,软件开发已成为一门艺术与科学交织的领域。本文将探讨从实际技术实践中提炼出的软件构建哲学,揭示编程背后隐藏的智慧与策略。我们将通过一系列真实案例分析,探索如何提升代码质量、优化开发流程,并讨论持续学习的重要性。文章旨在为开发者提供深入洞见,帮助他们在不断变化的技术环境中保持竞争力和创新精神。
    |
    4月前
    |
    Java 程序员
    "Java程序员必备秘籍:Lambda表达式如何让你的代码瘦身90%?揭秘简化编程的终极奥秘!"
    【8月更文挑战第19天】Java持续进化,Lambda表达式自Java 8起赋予其新活力。它简化代码,使编程更愉悦。以前,简单功能需冗长代码,如列表排序要用匿名内部类实现`Comparator`。现在一行Lambda足矣。Lambda如`(参数) -> {表达式}`,支持零或多参数。
    21 0
    |
    7月前
    |
    人工智能 算法
    【算法】深入理解 Prolog:逻辑编程的奇妙世界
    【算法】深入理解 Prolog:逻辑编程的奇妙世界
    180 0
    |
    7月前
    |
    JSON IDE Swift
    Swift语言的实践编程
    Swift语言的实践编程
    74 3

    热门文章

    最新文章