JavaScript小知识点

1. 类数组对象:arguments

function showargs() {
    console.log( arguments );
}

showargs(1,2,3,4,5);
打印结果

可以明显看出他不只输出了传递的数组,而且还有很多对象属性,有了这个对象我们以后写函数的时候,就不用给所有的形参指定参数名,然后通过参数名的方式获取参数了,我们可以直接使用arguments对象来获取实参。
有些语言在我们给函数指定了参数名之后,当调用函数时,会判断当前传入的参数是否与函数定义的参数个数相等,不相等就会报错,但是灵活的js并不会验证传递给函数的参数个数是否等于函数定义的参数个数。所以为了代码的简洁度,我们使用arguments调用参数可以不混淆不同函数之间的参数名。另外为了代码的严整度,我们也能用arguments来判断当前传入参数的个数是否与我们需要的数量一致。


示例代码

最后我们还可以看到arguments还有一个叫做callee的属性,这个属性是表示的是当前函数的一个引用,简单点说,这个属性里面存储的我们调用的这个函数的代码。


示例代码

arguments的一些用法

实现方法的重载

add

阶乘递归

注意:ECMAScript4中为了限制js的灵活度,让js变得严格,新增了严格模式,所以arguments.callee这个属性在use strict模式下被禁止了。

你可能感兴趣的:(JavaScript小知识点)