微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

…与…在javascript闭包中[重复]

如何解决…与…在javascript闭包中[重复]

没有区别 两种方法都是使JavaScript解析器将函数视为 表达式 而不是 声明的 有效方法

请注意,+!也可以使用,并且有时被缩小器用来保存大小字符:

+function() {  
    var foo = 'bar';  
}();

!function() {  
    var foo = 'bar';  
}();

正如@copy指出的那样,出于完整性考虑,它~-将起作用。

-function() {  
    var foo = 'bar';  
}();

~function() {  
    var foo = 'bar';  
}();

解决方法

我知道这很愚蠢,但这之间有什么区别:

(function() {  
    var foo = 'bar';  
})();

和这个?

(function() {  
    var foo = 'bar';  
}());

JSLint告诉我们Move the invocation into the parens that contain the function,但是我认为没有必要。

编辑:
答案太酷了。~function,JSHint替代品,以及jQuery的偏好(/***/)();和Crockford的解释!我以为我只会得到“他们是同一件事”的答案。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。