第4课 - JavaScript函数基础

1. 函数的定义和基本使用

示例1:基本函数定义与调用

function show() { return '这是一个自定义函数'; } console.log(show());

示例2:带参数的函数

function maxNum(num1, num2) { if (num1 > num2) { return num1; } else { return num2; } } console.log(maxNum(10, 30));

2. 函数参数的高级用法

示例3:arguments对象 - 处理不定数量参数

function sum() { console.log('参数个数:' + arguments.length); console.log('arguments对象:', arguments); var result = 0; for (var i = 0; i < arguments.length; i++) { result = result + arguments[i]; } return result; } sum(1, 2, 3, 4, 5);

示例4:ES6剩余参数和默认参数

// 默认参数 function greet(name, say = 'Hi, I\'m ') { return say + name; } // 剩余参数 function transferParam(num1, ...theNums) { console.log('第一个参数:' + num1); console.log('其余参数:', theNums); return theNums; }

3. 变量作用域

示例5:全局变量 vs 局部变量

var a = 'one'; // 全局变量 function test() { var a = 'two'; // 局部变量 console.log('函数内的a:' + a); } test(); console.log('函数外的a:' + a);

示例6:作用域链

var i = 26; function fn1() { // 第1个函数 var i = 24; function fn2() { // 第2个函数 function fn3() {// 第3个函数 console.log('输出的i值:' + i); } fn3(); } fn2(); } fn1();
注意:

4. 函数表达式

示例7:不同的函数定义方式

// 函数表达式 var fn1 = function sum(num1, num2) { return num1 + num2; }; // 匿名函数表达式 var fn2 = function (num1, num2) { return num1 + num2; }; // 立即执行函数表达式(IIFE) (function (num1, num2) { console.log('立即执行函数结果:' + (num1 + num2)); })(2, 3);

示例8:箭头函数(ES6)

// 传统函数 var add1 = function(a, b) { return a + b; }; // 箭头函数完整写法 var add2 = (a, b) => { return a + b; }; // 箭头函数简写 var add3 = (a, b) => a + b; // 单参数箭头函数 var sayHello = name => { return 'Hello, ' + name; };