js-arguments
Posted 陈皮
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js-arguments相关的知识,希望对你有一定的参考价值。
js-arguments
arguments
- arguments是函数执行时的一个对象,用开存储传进函数的参数,下标从0开始存储。arguments是对象,不是Array,但它有点类似Array,它不具备除了length之外的其他方法。
- callee:arguments对象的一个属性。
1)它用来指向当前指向的函数。
function fun() {
console.log(arguments.callee);
}
fun();//打印的是fun函数本身。
2)用来检测传进的参数和喊出形参是否相等
function fun(fun1,fun2){
if(arguments.length===arguments.callee.length){
console.log("参数正确");
} else{
console.log("参数不正确");
}
}
fun(1,1);
3)调用匿名函数
var num = (function(n){
if(n == 1){
return 1;
}
return n*arguments.callee(n-1);//调用匿名立即执行函数的引用
}(10));
3.func.caller:function对象的一个属性,它返回函数的引用,返回调用这个函数的对象。
function fun1(){
console.log(arguments.callee.caller);
}
function fun2(){
fun1();
}
fun1();
fun2();
//若直接在全局环境下调用fun1 则返回null,在fun2里调用之后返回fun2
以上是关于js-arguments的主要内容,如果未能解决你的问题,请参考以下文章