在函數(shù)內(nèi)部有兩個(gè)特殊的對(duì)象arguments和this.
arguments有一個(gè)callee屬性雷逆,是一個(gè)指針番刊,指向擁有這個(gè)arguments對(duì)象的函數(shù)。
例如一個(gè)階乘函數(shù):
function factorial (num) {
if (num < 1) {
return 1;
} else {
return num * argument.callee(num - 1)
}
}
es6還規(guī)范化了另一個(gè)函數(shù)對(duì)象的屬性:caller.保存著調(diào)用當(dāng)前函數(shù)的函數(shù)的引用电湘,如果是在全局作用域中調(diào)用痢士,他的值為null.
function outer () {
inner();
}
function inner () {
alert(arguments.callee.caller);
}