关于arguments对象的一些用法

本文详细介绍了JavaScript中的arguments对象,包括如何使用arguments获取实际参数、callee和caller属性的作用,以及在递归操作中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

arguments对象简介

arguments 是一种类数组对象,它只在函数的内部起作用,并且永远指向当前函数的调用者传入的所有参数,arguments类似Array,但它不是Array。

1.使用arguments来得到函数的实际参数。
arguments[0]代表第一个实参
ep:

function test(a,b,c,d) {
    alert(test.length);  //4
    alert(arguments.length);    //2
    if(test.length == arguments.length) {  //判断形参与实参是否一致
        return a+b;
    }
}
test(1,2);

2.arguments对象的callee和caller属性
(1).arguments.callee指向函数本身
function test(a,b) {}
arguments.callee 即为 test 函数本身;
arguments.callee.length 即为函数的形参个数 2

(2).arguments.callee.caller 保存着调用当前函数的函数引用(若函数在全局作用域中运行,caller则为 null)
ep:

function add(x,y) {
    console.log(arguments.callee.caller);
}
function test(x,y) {
    add(x,y);
}
test(1,2);   //结果为:function test(x,y) {add(x,y);}

此时,test()在函数内部调用了ad(0函数,所以arguments.callee.caller则指向了test()函数。

3.arguments对象用的最多的,还是递归操作。
ep:

function fact(num) {
    if(num < 1)
      return  1;
    else
   // return num*fact(num-1);  //(1)
    return num*arguments.callee(num-1);  //(2)
}

var F = fact;
alert(F(5));   //120
fact = null;
alert(F(5));  //若使用(1)来实现fact()递归,则会报错。fact is not a Function ;若使用(2)来实现递归,则可以输出120
### 配置和运行 Maven 项目 #### 使用 IntelliJ IDEA 进行 Maven 项目的配置与操作 为了在 IntelliJ IDEA 中成功配置并运行 Maven 项目,需遵循一系列特定的操作流程。 #### 方法一:初始化设置 当首次打开一个现有的 Maven 项目时,IntelliJ IDEA 应自动识别 pom.xml 文件,并提示导入项目。如果未能自动检测到,则可以通过菜单栏中的 "File" -> "New" -> "Project from Existing Sources..." 来手动加载项目文件夹[^3]。 #### 方法二:确认 JDK 设置 对于未配置 JDK 的 Maven 项目,在启动前应先指定合适的 Java Development Kit (JDK),这可通过进入 "File" -> "Project Structure" -> "SDKs" 完成添加;随后切换至 "Modules" 页面选择对应的 SDK 版本给模块应用[^2]。 #### 执行 Clean 或 Install 命令 ##### 清理构建(Clean) 清理工作目录下的目标产物可以确保每次构建都是基于最新的源码状态。此过程会移除之前编译产生的 class 文件及其他临时资源: 1. **通过图形界面**: 展开右侧边栏内的 “Maven Projects” 工具面板,找到 Lifecycle 下拉列表里的 clean 选项点击即可; 2. **借助终端命令**: ```bash mvn clean ``` ##### 构建安装(Install) 该阶段不仅包含了 compile 编译、test 测试等常规动作,还会将打包后的 jar/war 文件上传至本地仓库供其他工程引用: 1. **图形化方式**: 同样是在 “Maven Projects”,定位到 install 并触发执行; 2. **命令行模式**: ```bash mvn install ``` 以上两种途径均支持自定义参数传递以及多线程加速等功能特性[^1]。 #### 创建运行/调试配置 除了直接调用生命周期指令外,还可以预先设定好一组固定的参数组合保存起来方便日后重复调用。前往 Run/Edit Configurations... 新增 Application 类型条目,按照向导填写 Main Class 名字以及其他必要的 JVM 参数后保存生效[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值