开发者社区> 问答> 正文

闭合样式有什么区别

javascript中有两种流行的闭包样式。我首先调用匿名构造函数:

new function() { 
  var code...
}

和内联执行函数:

(function() {
  var code...
})();

两者之间在行为上有区别吗?一个比另一个更好吗?

展开
收起
游客ufivfoddcd53c 2020-01-03 16:48:54 905 0
1 条回答
写回答
取消 提交回答
  • 它们都通过执行代码块来创建闭包。就样式而言,出于两个原因,我更喜欢第二种:

    乍看之下,代码实际上将被执行并不是立即显而易见的。该行看起来像是在创建一个新函数,而不是将其作为构造函数执行,但这并不是实际发生的情况。避免执行与实际情况不符的代码!

    另外,(function(){... })();化妆漂亮的穿插记号,这样就可以立即看到你正在进入和离开一个闭合范围。这很好,因为它会提醒程序员阅读它的范围更改,并且在您对文件进行某些后处理(例如缩小)时特别有用。

    2020-01-03 16:49:13
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载