我们可以通过一个案列来理解什么是内置对象,arguments是什么,有什么作用,我们为什么要学
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
// 利用函数求任意个数的最大值
// 核心思路:利用arguments
// argurments是js函数中特有的属性,即是函数的内置对象(内置对象的意思是:函数本身就有的对象你只需要记住调用就好。就像你买到的手机,本身就有打电话的功能)
// 因为arguments函数的内置对象,它的作用是获取调用函数里面的实参,优点是实参可以想填几个填几个,不用去手动改变形参的个数,只需要通过arguments来获取实参即可
// 由于arguments是以数组的形式来保存实参,所以他也叫伪数组(伪数组的意思是具有数组某些特性),所以我们可以举一反三既然数组可以求最大值那么伪数组也可以求最大值。
// 因为arguments是伪数组,具有数组的某些特性,特性有:1、arguments.length来获取调用函数中的实参有几个2、通过arguments[0]、arguments[1]向数组一样的来获取每一个具体实参的值。
function getMax() {
var max = arguments[0];//获取第一个实参
for (var i = 1; i < arguments.length; i++) {//通过遍历来比较实参两个数之间的大小,
if (max < arguments[i]) {//假如有比第一个实参的数大的,则将较大那个数存入一个新的变量max当中。循环几次之后,实参中的最大值就存在max当中
max = arguments[i];
}
}
return max;//通过return语句,返回最大值
}
console.log(getMax(1, 3, 5));//这条语句有三个实参
console.log(getMax(3, 2, 6, 5, 7, 10));//这条语句有六个实参
//这两句话也对比了,使用函数的灵活性,不需要更改函数里面的内部,只需在调用函数上修改需要多少个实参即可。
</script>
</body>
</html>