Web开发基础-JavaScript-28

JS中argument的使用

  1. arguments是函数内的固有变量,以数组的形式保存了调用方给该函数传入的所有参数。
  2. 同时arguments比较常用的两个属性是length和callee,length表示调用方传入了多少个参数,callee表示当前函数体本身。
  3. 特性:arguments对象和Function是分不开的。因为arguments这个对象不能显式创建,arguments对象只有函数开始时才可用。

  4. 使用方法:

    虽然arguments对象并不是一个数组,但是访问单个参数的方式与访问数组元素的方式相同(按照索引号访问)

    可以用数组下标的方式"[]"引用arguments的元素 :例如 arguments[0]

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>argument</title>

		<script type="text/javascript">
		function argument_1 () {
		    
		    console.log(arguments);
		}
        //利用argument对象对函数进行模拟重载
		argument_1("w","f");
		argument_1(1,2,'xixi','hehe');
		
		function argument_2 (first, second) {
		    alert(first);
		    alert(second);
		    console.log(arguments);
		}
		
		argument_2("w","M");
		//也可以设置参数,那些参数可以直接用参数名来取值。
		function argument_3 (event) {
		   
		    var obj = event.srcElement||event.target;
		    alert( obj.value);
		    console.log(arguments);
		}
		</script>
	</head>
	<body>
		<div onclick="argument_3(event);">
			
			<input type="button" value="uuu">
		</div>
	
	</body>

</html>

最终页面显示效果:控制台输出

callee 的使用:

callee 属性的初始值就是正被执行的 Function 对象:

匿名的递归函数案例

var sum = function (n) {
        if (1 == n) {
            return 1;
        } else {
            return n + arguments.callee(n - 1);
        }
    }
    alert(sum(6));

arguments此对象的callee 属性大多用来针对同个方法多处调用并且传递参数个数不一样时进行使用。

根据arguments的索引来判断执行的方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Coder_Boy_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值