[英]declaring and defining functions in javascript
我对javascript中的函数(对象)有疑问。
我有两段代码,比如
var a= function(){
console.log('abc')
}
和
var a= (function(){
console.log('abc')
})
这两者有什么区别>>
感谢名单:)
现在没有区别,但是如果你在第二个函数之后添加另一个括号(),它将运行函数而不调用。
var a= (function(){
console.log('abc')
})()
它将直接打印'abc'
没有区别。 你有一个函数表达式,你可以在表达式周围放置任意数量的括号。
就像这样:
a = 42;
与此相同:
a = (42);
还有这个:
a = (((((42)))));
它们是有区别的。
(和)构成一个分组。 分组只能包含表达式,因此其中的任何函数都将是表达式而不是声明。
由于ECMA指定函数声明必须始终具有函数名称,并且函数表达式可以省略它,因此您将能够执行以下操作
(function() {});
而以下声明无效
function() {};
这通常没关系,但仍然......阅读这篇深入的文章了解更多信息: http : //kangax.github.com/nfe/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.