我在学习js的函数直接量时感到不解,
var f =function fact(x)(
  if (x<=1) return 1;
  else return x*fact(x-1);)
书上写道:上面的代码定义了一个未命名函数,并把对它的引用存储在变量f中。他并没有真正把对函数的引用存储到名为fact的变量中,而只是允许函数体用这个名字来引用自身。我对“没有真正把对函数的引用存储到fact中”感到不解,我以为fact 和f是一样的,不可以 fact(10);调用函数吗?
<html>
<body>
<script >
var f=function fact(x){
  if (x<=1) return 1;
  else return x*fact(x-1);}
alert(fact(10));
</script>
</body>
</html>  试验了一下 ie5.5,6,7,8可以,ff,chrome,opera,safari都不能。
我的想法:fact也是引用,不过只限制在这一个很小的范围内
<script>
var f2;
var f = function fact(){
f2 = fact;
alert(fact)
}
f()
f2();
fact();
</script>
ff中,f()可以 f2()可以,fact()不可以,
fact到底怎么回事
f2=fact 到底做了什么。