我对javascript中的函数(对象)有疑问。
我有两段代码,例如,
var a= function(){
console.log('abc')
}
和
var a= (function(){
console.log('abc')
})
这两者有什么区别>>
thanx :)
我对javascript中的函数(对象)有疑问。
我有两段代码,例如,
var a= function(){
console.log('abc')
}
和
var a= (function(){
console.log('abc')
})
这两者有什么区别>>
thanx :)
没有区别。您有一个函数表达式,您可以在表达式周围放置任意数量的括号。
就像这样:
a = 42;
与此相同:
a = (42);
和这个:
a = (((((42)))));
现在没有区别,但是如果您在第二个函数之后添加另一个括号 (),它将在不调用的情况下运行函数。
var a= (function(){
console.log('abc')
})()
它会立即打印'abc'
它们是有区别的。
( 和 ) 构成一个分组。分组只能包含一个表达式,因此其中的任何函数都是表达式而不是声明。
由于 ECMA 规定函数声明必须始终具有函数名,并且函数表达式可以省略它,因此您将能够执行以下操作
(function() {});
而以下声明无效
function() {};
这并不重要,但仍然......阅读这篇深入的文章了解更多信息:http: //kangax.github.com/nfe/