毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> WEB开发 >> 正文

javascript高级程设计中讲解函数递归调用

更新时间:2016-5-20:  来源:毕业论文

var factorial = (function f(num) {
        if (num<=1) {
            return 1;
        } else {
            return num*f(num-1);
        }
    });

这是javascript高级程设计中讲解函数递归调用的一个实例,我不明白是为何=右边的函数声明式被一对圆括号包裹。
另外,我知道函数声明式外加圆括号是强制转换为函数表达式,但这种用法一般不是用于使匿名函数立即执行吗?这里这样写,而且是非匿名函数,目的是什么呢?

为function(){}有两种用法。

当function关键字出现在行首(语句首),它是一条“语句”。
当function关键字不是出现在行首(语句首),它就是一条“函数表达式”。

一般立即执行的匿名函数要加括号的主要作用就是不让function关键字出现在行首(语句首)。

而你这个代码 function关键字本来就不是出现在行首(语句首),从语法上来说可以不加括号。

但加上括号能让人更容易理解为这是“函数表达式”,而不是“语句”。

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。