Function中的相关成员:
1、 name 属性
作用:获取函数的名字,是一个字符串类型的。
IE浏览器不支持这个属性
function fn(n1, n2) {}
console.log(fn.name);
console.log(typeof fn.name);
2 、length 属性
作用:用来获取形参的个数
console.log(fn.length);
如何判断传入的参数个数是否符合要求?
fn.length === arguments.length
3、fun.caller(废弃)
作用:获得调用函数的函数引用(函数在哪被调用)
function f() {
function foo() {
console.log(foo.caller === f);
}
foo();
}
f();
4、 arguments
作用: 获取实参列表,返回值是一个 伪数组。
只能在函数内部使用
任何函数都有 arguments 这个 变量(局部变量)
function f() {
var args = arguments;
function f1() {
获取到 f 的所有参数
args
}
}
console.log(arguments); // 这样会报错
function f() {
console.log(arguments);
console.log(arguments.length);
console.log(arguments.callee === f);
arguments.callee();
f();
}
f(1,1,9);
5、 arguments.length
作用:获取实参个数
6 、arguments.callee
作用:获取当前函数的引用
用处: 实现递归
(function() {
arguments.callee();
})();
var f = function() {
f();
};
function f() {
f();
1、 name 属性
作用:获取函数的名字,是一个字符串类型的。
IE浏览器不支持这个属性
function fn(n1, n2) {}
console.log(fn.name);
console.log(typeof fn.name);
2 、length 属性
作用:用来获取形参的个数
console.log(fn.length);
如何判断传入的参数个数是否符合要求?
fn.length === arguments.length
3、fun.caller(废弃)
作用:获得调用函数的函数引用(函数在哪被调用)
function f() {
function foo() {
console.log(foo.caller === f);
}
foo();
}
f();
4、 arguments
作用: 获取实参列表,返回值是一个 伪数组。
只能在函数内部使用
任何函数都有 arguments 这个 变量(局部变量)
function f() {
var args = arguments;
function f1() {
获取到 f 的所有参数
args
}
}
console.log(arguments); // 这样会报错
function f() {
console.log(arguments);
console.log(arguments.length);
console.log(arguments.callee === f);
arguments.callee();
f();
}
f(1,1,9);
5、 arguments.length
作用:获取实参个数
6 、arguments.callee
作用:获取当前函数的引用
用处: 实现递归
(function() {
arguments.callee();
})();
var f = function() {
f();
};
function f() {
f();
}