arguments
当不确定有多少个参数传递的时候,可以用 arguments 来获取。JS 中,arguments 实际上它是当前函数的一个内置对象。所有函数都内置了一个 arguments 对象,arguments 对象中存储了传递的所有实参。arguments 展示形式是一个伪数组,因此可以进行遍历。
伪数组具有以下特点:
具有 length 属性,按索引方式存储数据,不具有数组的 push、pop 等方法。
function fun() { //arguments 里面存储了所有传递过来的实参 console.log(arguments); // [1,2,3...] console.log(arguments[1]); // 2 console.log(arguments.length); // 3 //我们可以按照数组的方式 遍历 argument } fun(1, 2, 3);
伪数组主要是用在我们不知道数组有多少值的时候进行的一个使用,当然,也可以使用伪数组来进行对数组的排序和比大小,接下来试一下怎么比大小吧
function getMax() { let max = arguments[0]; for (let i = 1; i < arguments.length; i++) { if (arguments[i] > max) { max = arguments[i]; } } return max; } let result = getMax(1, 3, 78, 5, 85, 66); console.log(result);
如上所示,我们先确定好for循环的执行范围之后就开始进行判断,当max下标为0时与arguments里面的元素对比,循环一圈比较出最大的,然后进行打印。
自执行函数
自执行函数严格来说也叫函数表达式(匿名函数),它主要用于创建一个新的作用域,且无需调用,在程序加载时会自动执行。又因为自执行函数不能被调用,被称为一次性函数。
// 自执行函数无需调用,立即执行 (function(){ // 函数体 }())
(function(x, y) { console.log(x + y); // 5 }(2, 3));
如上所示,第一个是自执行函数的格式要求,第二个是实战填写,function后面的括号里面书写形参,在结尾处的花括号进行输入实参,这样自执行函数就构建完毕了。
谢谢大家观看,我是小辉,请多多指教
刘小辉