在具名函数中,在它内部可以使用函数名test来引用自身。
function test() {
test.a= 1; // test指向它自身
}
而在匿名函数中,
(function(){
// 匿名(没有名字的)函数无法指向自身
})()
不过,我们可以使用arguments.callee
来引用当前正在运行的函数对象
警告:在严格模式下,第5版 ECMAScript (ES5) 禁止使用
arguments.callee()
。当一个函数必须调用自身的时候, 避免使用arguments.callee()
, 通过要么给函数表达式一个名字,要么使用一个函数声明.
相关文档:arguments.callee ,严格模式
网友评论