// 函数的参数
// 可以定义函数的参数
// 在函数程序执行时,输入的一些数据内容,称为函数的参数
// 在定义函数时,在函数中有一个 ( ) 小括号,在小括号中可以定义函数的参数
// 也就是函数执行时,我们需要输入的一些数据等,让程序按照我们的需要来执行
// 定义一个生成金字塔的函数
// 当前函数只是固定的生成5行的金字塔,没有办法改变行数
// 之前随机行数的程序,是通过一个变量来定义行数,变量中存储的数值是几,行数就是几
// 这个变量,当前是没有赋值的,在函数执行时,需要输入数据
// 程序的执行,就根据这个数据的数值来执行,输入的数据是几,我们就生成几行的金字塔
// 像这样的变量,就是函数的参数
// 执行时,需要输入数据的变量,并且这个变量,可以控制程序执行的结果
// 变量必须要在 函数的 ( ) 中来定义
// 在调用函数时,要给参数赋值相应的数据
// 在定义函数的参数时,可以给函数的参数,进行赋值,定义默认值
// 如果调用函数时,没有输入其他数据数值,那么函数会按照默认值的数值来执行
// 实参到底可以是什么内容?
// 只要是 具体的数据数值,实参可以是任意形式的数据
// 直接赋值的数据, 存储在变量中的数据 , 数组或者对象提取的数据 , 其他函数的执行结果
// 只要是一个具体的数据就可以,形式无所谓
// 给形参赋值默认值5,也就是如果没有输入实参数据,按照5来执行
// 如果输入实参数据,实参数据会覆盖默认值5,按照实参数据来执行
function setPyramid(line = 5){
for(var i = 1 ; i <= line ; i++){
for(var j = 1 ; j <= line-i ; j++){
document.write(‘ ‘);
}
for(var k = 1 ; k <= i ; k++){
document.write(‘* ‘);
}
document.write(‘<br>‘);
}
}
// 函数形参,被赋值默认值5,执行函数时,如果没有输入实参数据,会按照默认值数据来执行
setPyramid();
// 输入实参数据,赋值的实参数据10,会覆盖默认值数值5,程序按照数值10来执行,生成10行金字塔
setPyramid(10);
// 不管数值大小,这里实际进行的都是对变量的重复赋值操作,都是后赋值的数据,覆盖之前赋值的数据
setPyramid(3);
// 实参是变量中存储的数据
var int = 8;
setPyramid(int);
// 数组和对象中的数据
var arr = [9];
setPyramid(arr[0]);
var obj = {num:15}
setPyramid(obj.num);
// 随机数也中
var a = parseInt( Math.random()*( 15+1-5 ) + 5 );
setPyramid(a);