我在学习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 到底做了什么。
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 到底做了什么。
解决方案 »
- JS把获取到的cookie的标题放在隐藏层中后,该怎样清空
- 在textarea光标指定地方插入内容
- 多个iframe请求文件下载,为何只弹出一个下载框?
- js 判断时间
- javascrupt的函数中,retrun;不是直接返回了?怎么return;相当于重新打开了一次页面?
- 想快速学习和提高javascript水平,谁能介绍几个好的教程 ,请问有什么学习的好方法吗?
- 用mail to发邮件问题!
- 怎样问题在水平和垂直滚动后总保持div的位置在屏幕看得见的最左边和中间(因为有时滚动不一定是滚动到最左边)
- up有分!加入字符的问题!
- 有一段js切换图片的代码,直接写在网页里有效,放在js文件里不起作用
- JS如何实现这种右下角弹出效果并且滚动页面时无刷新?
- javascript如何生成横页word
这是一个闭包语句是传递函数f2