EasyClick JavaScript 函数
EasyClick JavaScript 函数
JavaScript 中的函数(Function)是一等公民(First-Class Citizen),意味着它可以被赋值给变量、作为参数传递给其他函数,或作为其他函数的返回值。函数是实现代码复用、模块化和逻辑封装的核心工具。
函数的定义方式
函数声明
使用 function
关键字直接声明一个函数,具有函数提升(Hoisting)特性(即函数可在声明前调用)。
语法:
function 函数名(参数1, 参数2, ...) {// 函数体return 返回值; // 可选,无 return 时默认返回 undefined
}
示例:
function add(a, b) {return a + b;
}
console.log(add(2, 3)); // 输出 5
函数表达式
将函数赋值给一个变量或常量,此时函数可以是匿名的(无名称)或有名称的(命名函数表达式)。无函数提升(需先声明后使用)。
语法:
const 变量名 = function [函数名](参数1, 参数2, ...) {// 函数体
};
匿名函数表达式
const add = function(a, b) {return a + b;
};
命名函数表达式(函数内部可通过名称自引用,常用于递归或调试)
const factorial = function fact(n) {return n === 0 ? 1 : n * fact(n - 1); // 内部用 fact 自调用
};
console.log(factorial(5)); // 输出 120
箭头函数(Arrow Function,ES6+)
使用 =>
符号简化函数定义,语法更简洁,无独立this、arguments、super或 new.target
(继承外层作用域的对应属性)。
语法:
const 变量名 = (参数1, 参数2, ...) => {// 函数体return 返回值;
};
单行表达式:若函数体只有返回值,可省略 {}
和 return
:
const add = (a, b) => a + b; // 等价于 return a + b;
单个参数:若只有一个参数,可省略参数外的 ()
:
const square = x => x * x;
无参数:需保留空 ()
:
const sayHi = () => console.log("Hi!");
函数的参数
函数参数用于接收外部传入的数据,JavaScript 对参数的处理非常灵活:
形参(Formal Parameters)与实参(Actual Arguments)
•形参:函数定义时声明的参数(如 function add(a, b)中的 a和 b)。
•实参:函数调用时实际传入的值(如 add(2, 3)中的 2和 3)。
参数的默认值(Default Parameters,ES6+)若未传入实参或实参为 undefined,可使用默认值:
function greet(name = "Guest") {return `Hello, ${name}!`;
}
console.log(greet()); // 输出 "Hello, Guest!"
console.log(greet("Alice")); // 输出 "Hello, Alice!"
剩余参数(Rest Parameters,ES6+)
使用...
符号将多个实参收集为一个数组(只能作为最后一个参数):
function sum(...nums) {return nums.reduce((acc, curr) => acc + curr, 0);
}
console.log(sum(1, 2, 3, 4)); // 输出 10
函数的返回值(return)
•函数通过 return语句返回结果,只能返回一个值(若需返回多个值,可返回数组或对象)。
•无 return或 return后无值时,默认返回undefined
。
function getUser() {return { name: "Alice", age: 30 }; // 返回对象
}
console.log(getUser()); // 输出 { name: "Alice", age: 30 }function noReturn() {// 无 return,返回 undefined
}
console.log(noReturn()); // 输出 undefined
下一节>> EasyClick JavaScript 数组