广州北大青鸟计算机职业培训学校
互联网技术培训、软件技术培训、大数据培训、云计算培训、数据分析培训信息网
当前位置:网站首页 > 软件专业 > 前端开发专业 > 正文

Web前端开发如何使用JS中的arguments?_惠州前端培训学校

作者:hz_admin01发布时间:2022-05-02分类:前端开发专业浏览:1290


导读:Web前端开发如何使用JS中的arguments?很多想学前端的同学都会问这个问题,那么下面惠州北大青鸟老师给大家解答一下。

Web前端开发如何使用JS中的arguments?很多想学前端的同学都会问这个问题,那么下面惠州北大青鸟老师给大家解答一下。

arguments是一个对应于传递给函数的参数的类数组对象。

一、arguments的使用

当我们不确定有多少个参数传递的时候,可以用arguments来获取。在JavaScript中,arguments实际上它是当前函数的一个内置对象。所有函数都内置了一个arguments对象,arguments对象中存储了传递的所有实参。

arguments展示形式是一个伪数组,因此可以进行遍历。伪数组具有以下特点:

具有length属性

按索引方式储存数据

不具有数组的push,pop等方法

使用场景

利用函数求任意个数的最大值

functionmaxValue(){

varmax=arguments[0];

for(vari=0;i<arguments.length;i++)

{

if(max<arguments[i]){

max=arguments[i];

}

}

returnmax;

}

console.log(maxValue(2,4,5,9));

console.log(maxValue(12,4,9));

在实际开发,建议不要再使用arguments了,请使用ES6的解构语法,比下:

functionmaxValue(...data){

letmax=data[0]

for(leti=0;

i<data.length;i++){

if(max<data[i]){

max=data[i];

}

}

returnmax;

}

console.log(maxValue(2,4,5,9));

console.log(maxValue(12,4,9));

二、arguments.callee的使用

callee是arguments对象的属性。在函数体内,它指向当前正在执行的函数。

ECMAScript5禁止在严格模式中使用arguments.callee()。当一个函数必须调用自身的时候,假如它是函数表达式则给它命名,或者使用函数声明,避免使用arguments.callee()

使用场景

使用arguments.callee最常见的情景是当我们要创造一个递归函数的时候:

functionfactorial(num){

if(num<=1){

return1;

}

else{

returnnum*arguments.callee(num-1);

}

}

console.log(factorial(4));//24

但是如果代码是在严格模式下开发,使用"usestrict";则会出现报错信息:

UncaughtTypeError:'caller','callee',and'arguments'propertiesmaynotbeaccessedonstrictmodefunctionsortheargumentsobjectsforcallstothem

在严格模式下不能通过脚本访问arguments.callee,访问这个属性会报错,那么可以使用命名函数表达式来达到相同的结果:

"usestrict";varfactorial=(functionf(num){

if(num<=1){

return1;

}

else{

returnnum*f(num-1);

}

}

)

console.log(factorial(4));//24

更多前端资讯关注网站动态,或者来惠州北大青鸟新方舟校区了解一下。

标签:惠州前端培训学校惠州前端基础惠州前端培训北大青鸟IT计算机学校北大青鸟IT软件学校前端北大青鸟IT学校惠州北大青鸟北大青鸟


前端开发专业排行
标签列表
网站分类
文章归档
最近发表