上一章节我们学习了有关JS对象的知识,现在我们对JS的简单操作已经有了基本的了解,学会了简单的编码行为。本章我们将学习在JS中较为重要的一个概念——函数。
那什么是函数呢?简单来说,函数就是一段可复用的代码块,它将实现特定功能的代码封装起来,当我们需要实现该功能时,直接调用函数即可。
在JS中,我们一般用 function 关键字来定义函数:
function 函数名(参数1, 参数2, ...) {
// 函数体,包含要执行的代码块
// 可以使用参数进行计算、控制流程等操作
return 返回值; // 可选,用于返回函数调用结果
}在这里,我们先定义函数名并记住它,因为后续我们是通过函数名来调用函数的。在JS里,函数名是函数的唯一标识符,读者务必知道JS中的函数不像C/C++、Java那些编译型语言一样有重载函数。
然后我们再设计参数,参数可以是一个或多个,参数既能参与运算也可以不参与;接着设计函数体,函数体可以是复杂的算法,也可以是简单的运算;最后决定是否需要返回值,需要就使用return,不需要也可以。
如果我们想要设计一个计算两数和的函数,可以这样做:
/* 使用function关键字声明函数 */
function add(a, b) {
return a + b;
}
console.log(add(0, 1)); // 控制台打印 1在JS里,函数是可以同名的,但由于函数提升(JavaScript引擎会在编译阶段把函数声明提升到作用域顶部),同名函数会发生覆盖行为:
/* 函数提升导致函数覆盖,最终控制台打印1 */
function f() {
console.log(0);
}
function f() { // 这个覆盖了前一个f
console.log(1);
}
f(); // 输出 1请读者务必记住,JS里不存在重载函数:
/* JS里不存在重载函数 */
function f() {
console.log(0);
}
function f(a) { // 完全覆盖了前一个f
console.log(1);
}
f(); // 输出 1(实际上调用的是f(a),a为undefined)
f(0); // 输出 1值得注意的是,在JS里,函数名是严格区分大小写的:
/* JS中函数名严格区分大小写 */
function F() { // 大写F
console.log(0);
}
function f() { // 小写f
console.log(0);
}
f(); // 控制台打印 0
F(); // 控制台打印 0总结:本节我们学习了在JS中如何定义函数,理解了函数名是函数的唯一标识符,以及JS中不存在重载函数的概念。读者务必掌握这些函数的基本概念,这对后续JS的学习很重要。
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程