?来自《高程三》:
var factorial = (function f(num){
console.info(typeof f);
if (num <= 1){
return 1;
} else {
return num * f(num-1);
}
});
console.info(typeof factorial);// function
console.info(typeof f);// undefined
factorial(1);// function
问题:为什么找不到f
变量,这个函数对象的作用域是什么范围?怎么主动销毁?
函数表达式了解一下。
不过文档中只是举例描述了
typeof f === "undefined"
这个结果,并没有说明为什么可以这样理解下:
带名称函数表达式只是给函数定义了名称,即
f.name
,但并没有为这个表达式生成变量引用,所以