这两个JavaScript代码段是否相同?
jQuery(document).ready(function() {
(function(){
return 'something';
})();
});
和这个
jQuery(document).ready(function() {
return (function() {
return "something";
})();
});
我正在尝试coffescript。将上面的第一个代码转换为coffescript并将其转换回JS给出了第二个代码段。所以,我想知道它们是否完全相同。是否从与闭包相关的函数中返回函数?
答案 0 :(得分:2)
他们会是一样的,是的。除了第二个将使用1个单位的堆栈内存。
答案 1 :(得分:1)
这取决于.ready
方法是否使用其回调的返回值。如果是,那么示例是不同的。如果忽略返回值,则其相同。
如果你停下来想一想,你可以“简化”立即调用函数表达式。这样做会将第一个例子变成
jQuery(document).ready(function() {
'something';
});
和第二个进入
jQuery(document).ready(function() {
return 'something';
});