JavaScript立即执行函数是一种特殊的函数表达式,它可以立即自动运行,而不需要在其他地方调用。在JavaScript中,我们可以使用两种不同的声明方法来创建立即执行函数。第一种是使用普通的函数声明方法,代码如下:
(function() {
//code to be executed immediately
})();
这种声明方法使用一个内部或匿名函数,将其包装在括号中并跟随一对空括号执行。当JavaScript引擎遇到这样的代码时,它将立即执行包装在内部函数内部的代码。
第二种声明方法是通过使用函数表达式来创建立即执行函数,代码如下:
(function() {
//code to be executed immediately
}());
这种方法使用与第一种方法类似的语法,但是将第二个括号放在包含匿名函数的括号外面。两种方法的效果一样,但是它们的语法略有不同。
那么这两种不同的方式有什么异同点呢?
- 语法方面:第一种方法使用圆括号包围匿名函数和函数调用,函数调用则需要被直接跟在圆括号后面。第二种方法则在匿名函数后加一对圆括号,以便其自我调用。
- 性能方面:对于旧一点的浏览器来说,第二种方法的性能会稍微好一些,因为解析器不需要遇到分组运算符,因此解析速度快一些。但是对于现代浏览器来说,两种方法的性能差异已经非常小了,因此不必太过于担心性能问题。
下面是两个例子,分别使用第一种和第二种声明方法来创建立即执行函数:
示例1:
(function(){
var a = 1;
var b = 2;
console.log(a + b);
}());
示例2:
(function(){
var a = 1;
var b = 2;
console.log(a + b);
})();
这两个示例的输出结果是相同的,都将结果输出为3。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js立即执行函数: (function ( ){})( ) 与 (function ( ){}( )) 有什么区别? - Python技术站