JavaScript 函数调用学习笔记
1. 函数的定义与调用
JavaScript 中的函数是一种可重复使用的代码块,它可以像变量一样被赋值和传递。函数通常由两部分组成:函数名称和函数体。函数名称用于标识函数,函数体包含了实现函数功能的代码。
函数的定义方式如下:
javascriptCopy Codefunction functionName(arg1, arg2, ...) {
// 执行代码
return result;
}
其中,functionName
是函数名称,arg1, arg2, ...
是函数的参数,用逗号分隔,可以有多个或者没有参数。函数的参数可以在函数内部使用,用于传递数据。
函数的调用方式如下:
javascriptCopy CodefunctionName(arg1, arg2, ...);
其中,functionName
是已经定义的函数名称,arg1, arg2, ...
是传递给函数的参数,也可以没有参数。
2. 函数的返回值
函数执行完毕后,可以返回一个值作为函数的输出。使用 return
语句来指定函数的返回值。
javascriptCopy Codefunction multiply(a, b) {
return a * b;
}
const result = multiply(2, 3); // 调用 multiply 函数,返回 6
console.log(result); // 输出 6
注意,return
语句会立即终止函数的执行,并返回指定的值。如果函数没有指定返回值,则返回 undefined
。
3. 函数作为参数
JavaScript 中的函数可以被当做是一个值来进行传递。这意味着,我们可以将一个函数作为另一个函数的参数,也可以将一个函数作为另一个函数的返回值。
javascriptCopy Codefunction greeting(name) {
return "Hello, " + name;
}
function processUserInput(callback) {
const name = prompt("Please enter your name:");
return callback(name);
}
const result = processUserInput(greeting); // 调用 processUserInput 函数,并将 greeting 函数作为参数
console.log(result); // 输出 "Hello, John"(假设用户输入的名字是 John)
4. 匿名函数
除了定义具名函数之外,还可以使用匿名函数来定义函数。匿名函数没有名称,通常在定义时直接传递给其他函数,或者直接执行。
javascriptCopy Codeconst add = function(a, b) {
return a + b;
};
const result = add(2, 3); // 调用匿名函数,返回 5
console.log(result); // 输出 5
5. 立即执行函数
立即执行函数是定义后立即调用的函数。它可以在单独的作用域中执行,不会影响全局变量。
javascriptCopy Code(function() {
const message = "Hello!";
console.log(message); // 输出 "Hello!"
})();
console.log(message); // 报错:message 未定义
实例
下面是一个根据传入的参数生成随机颜色的函数:
javascriptCopy Codefunction getRandomColor() {
const letters = "0123456789ABCDEF";
let color = "#";
for (let i = 0; i < 6; i++) {
color += letters[Math.floor(Math.random() * 16)];
}
return color;
}
const body = document.querySelector("body");
body.style.backgroundColor = getRandomColor();
每次调用 getRandomColor
函数时,都会返回一个随机的颜色值,并将其作为背景色应用到页面的 <body>
元素上。这个例子中展示了函数的定义、调用和返回值的使用。