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模式下被禁止了。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容