您现在的位置:首页 >> 前端 >> 内容

JS匿名自执行函数

时间:2016/12/19 9:20:53 点击:

  核心提示:1. 什么是自执行的匿名函数?它是指形如这样的函数: (function {// code})();2. 疑问为什么(function {// code})();可以被执行, 而function {/...

1. 什么是自执行的匿名函数?

它是指形如这样的函数: (function {// code})();

2. 疑问

为什么(function {// code})();可以被执行, 而function {// code}();却会报错?

3. 分析

(1). 首先, 要清楚两者的区别:

(function {// code})是表达式, function {// code}是函数声明.

(2). 其次, js"预编译"的特点:

js在"预编译"阶段, 会解释函数声明, 但却会忽略表式.

(3). 当js执行到function() {//code}();时, 由于function() {//code}在"预编译"阶段已经被解释过, js会跳过function(){//code}, 试图去执行();, 故会报错;

当js执行到(function {// code})();时, 由于(function {// code})是表达式, js会去对它求解得到返回值, 由于返回值是一 个函数, 故而遇到();时, 便会被执行.

Tags:JS S匿 匿名 名自 
作者:网络 来源:bin1813的博客