首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >人生前分号的目的是什么?

人生前分号的目的是什么?
EN

Stack Overflow用户
提问于 2013-07-31 19:10:44
回答 1查看 5K关注 0票数 23

我正在查看has.js的代码,并对这里的初始分号感到困惑:

代码语言:javascript
复制
;(function(g){
  // code
}()(this);

据我所知,它绝对没有用。它不像()!那样将函数放在表达式位置:(function(){}())!function(){}()。它似乎只是一条空线的折线机。

这个分号的目的是什么?强迫症渴望生命的开始和结束之间的对称?)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-31 19:12:33

它是为了防止以前的任何代码将代码作为函数的参数执行。

代码语言:javascript
复制
mybrokenfunction = function(){

} //no semicolon here
(function(g){


})(this);

将以匿名函数作为其参数来执行mybrokenfunction:

代码语言:javascript
复制
mybrokenfunction = function(){}(function(g){})(this);

如果你能保证在你的前面不会有一个无终止的(没有分号)函数,你可以省略开始分号,但你不能,所以把额外的分号放进去就更安全了。

票数 44
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17978883

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档