函数的四要素
函数名 --- 命名规则同变量的命名规则
函数体
参数:形参 --- 形式参数;实参 --- 实际参数;
返回值
// 函数的参数 --- 可以使一个具有特定功能的函数变的更加灵活
// 形参 --- 形式参数
// 在定义函数时设定参数叫做 形参
// 形参其实就是一个变量,但是这个变量只能在函数内部使用,函数外部访问不到
function fn1(n) { // var n;
console.log(n);
console.log('' + n);
}
// 实参 --- 实际参数
// 在调用函数时传入参数叫做 实参
// 调用函数时传入实参就是给这个函数的形参 赋值
fn1(true); // n = true;
fn1(999); // n = 999;
// 在函数外部访问形参,是访问不到的,会报错,形参只能在函数内部访问使用
// console.log(n); // Error: n is not defined
// 如果一个函数有多个参数(形参/实参),通过逗号分隔即可
function fn2(n1, n2) {
// console.log(n1);
// console.log(n2);
var s = n1 * n2;
console.log(s);
}
fn2(34, 7);
fn2(4, 9);
// 函数的参数应当一一对应
// 函数的形参和实参的数量应当对等
// 有 几个实参 就应当有 几个形参
// 第几个实参 就是给 第几个形参 赋值
// 如果函数的 实参 和 形参 数量不对等?
// 如果 形参 多于 实参,多于的形参没有接收到值,就是 undefined
function fn3(a, b, c, d, e, f) {
console.log(a); // 12
console.log(b); // 56
console.log(c); // 89
console.log(d); // undefined
console.log(e); // undefined
console.log(f); // undefined
}
fn3(12, 56, 89);
// 如果 实参 多于 形参,多于的实参没有形参接收,但是对程序没有影响
function fn4(x, y, z) {
console.log(x); // 'hello'
console.log(y); // 'world'
console.log(z); // 'document'
}
fn4('hello', 'world', 'document', 'haha', 'name', 'sex');
函数传参:function biao99(n) {
// 控制九九乘法表的行数,每循环一次就表示一行,循环变量可以作为一个因数使用
for (var r = 1; r <= n; r++) {
// 控制九九乘法表每一行的公式个数,每循环一次书写一个公式,循环变量可以作为一个因数使用
for (var c = 1; c <= r; c++) {
if (c * r < 10) {
document.write(c + 'x' + r + '=' + c * r + '  ');
} else {
document.write(c + 'x' + r + '=' + c * r + ' ');
}
}
// 换行
document.write('<br>');
}
}
biao99(5);
biao99(3);
biao99(7);
函数传参:function san(x) {
// 外层循环控制 行数,每循环一次写一行
for (var rr = 1; rr <= x; rr++) {
// 内层循环控制 星号的个数,每循环一次写一个星号
for (var cc = 1; cc <= 2 * rr - 1; cc++) {
document.write('*');
}
// 换行
document.write('<br>');
}
}
san(4);
san(8);