function f(){
if(someCondition){
f();
}
return;
}
一旦在外部改变f的引用,比如f ={},函数会报错;
function f(){
if(someCondition){
argument.callee.call(this);
}
return;
}
以上函数在严格模式下行不通
var result = (function f(){
if(someCondition){
f();
}
return;
})
命名函数表达式使,js引擎不会预解析f为变量,万无一失.