1. 函数声明与函数表达式
函数声明
函数声明是通过关键字function
定义的,后面跟着函数名和括号内的参数列表,函数体由一对花括号包围。
function greet(name) { console.log("Hello, " + name + "!"); }
函数表达式
函数表达式是将函数赋值给一个变量,这种形式的函数可以在声明之前调用,因为它们是在运行时被解析的。
var greet = function(name) { console.log("Hello, " + name + "!"); };
2. 匿名函数
匿名函数是没有名称的函数表达式,它们通常用作回调函数或立即执行的函数。
setTimeout(function() { console.log("This message will appear after 3 seconds."); }, 3000);
3. 箭头函数
箭头函数是ES6引入的新特性,它提供了一种更简洁的语法来创建函数,箭头函数没有自己的this
值,它会捕获其所在上下文的this
值。
const greet = (name) => { console.log("Hello, " + name + "!"); };
4. 高阶函数
高阶函数是指接受一个或多个函数作为参数,或者返回一个函数的函数,常见的高阶函数有map
,filter
,reduce
等。
const numbers = [1, 2, 3, 4, 5]; const doubledNumbers = numbers.map((number) => number * 2); console.log(doubledNumbers); // [2, 4, 6, 8, 10]
5. 闭包
闭包是指有权访问另一个函数作用域中的变量的函数,闭包可以用来创建私有变量和方法。
function createCounter() { let count = 0; return function() { count++; return count; }; } const counter = createCounter(); console.log(counter()); // 1 console.log(counter()); // 2
问题与解答
1、问题: 如何在JavaScript中创建一个立即执行的函数?
解答: 要创建一个立即执行的函数,可以将函数表达式放在一对圆括号内,然后在后面加上一对圆括号来立即调用它。
“`javascript
(function() {
console.log("This function is immediately executed.");
})();
“`
2、问题: 如何将一个函数作为参数传递给另一个函数?
解答: 要将一个函数作为参数传递给另一个函数,只需将函数名(不带括号)作为参数传递即可。
“`javascript
function sayHello(callback) {
console.log("Hello!");
callback();
}
sayHello(function() {
console.log("This is the callback function.");
});
“`
来源互联网整合,作者:小编,如若转载,请注明出处:https://www.aiboce.com/ask/23753.html