javascript - 为什么 JavaScript 需要以 ";"开头?

标签 javascript jquery jquery-plugins serverside-javascript

我最近注意到 Web 上的很多 JavaScript 文件都以 ; 开头,紧跟在评论部分之后。

例如,this jQuery plugin's代码以:

开头
/**
 * jQuery.ScrollTo
 * Copyright (c) 2007-2008 Ariel Flesler - aflesler(at)gmail(dot)com | http://flesler.blogspot.com
 * Dual licensed under MIT and GPL.
 * Date: 9/11/2008                                      
 .... skipping several lines for brevity...
 *
 * @desc Scroll on both axes, to different values
 * @example $('div').scrollTo( { top: 300, left:'+=200' }, { axis:'xy', offset:-20 } );
 */
;(function( $ ){

为什么文件需要以 ; 开头?我在服务器端 JavaScript 文件中也看到了这种约定。

这样做有什么好处和坏处?

最佳答案

我会说,由于脚本经常被连接和缩小/压缩/发送在一起,最后一个人有可能有类似的东西:

return {
   'var':'value'
}

在最后一个脚本的末尾没有 ; 在末尾。如果你有一个 ; 在你的开头,它是安全的,例如:

return {
   'var':'value'
}
;(function( $ ){ //Safe (still, screw you, last guy!)

return {
   'var':'value'
}
(function( $ ){ //Oh crap, closure open, kaboom!

return {
   'var':'value'
};
;(function( $ ){ //Extra ;, still safe, no harm

关于javascript - 为什么 JavaScript 需要以 ";"开头?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2481543/

相关文章:

javascript - jQuery 跳转滚动

javascript - 在使用 jQuery 调用 ajax 函数后更新全局变量

使用 "live"的 jQuery 插件模式

javascript - jQuery crSpline : weird animation

jquery - 无法居中响应式导航菜单

jquery-plugins - Colorbox 插件 - 禁用 iframe 关闭,在外部模态窗口单击

php - FB 好友选择器框架位于 https 中,无法与 http 中的托管页面交互

javascript - 发现for循环有14个操作,map方法有9个操作

javascript - 通过具有类似数组的属性的属性选择 dom 元素

jquery - 使用jquery更改HTML5音频播放器的源