为了账号安全,请及时绑定邮箱和手机立即绑定

;$(function(){}) 前面的这个分号是不小心打上的么?

我挺好奇老师你写jquery的时候为什么前面加个分号? ;$(function(){}) 打错了还是故意?

正在回答

2 回答

防止文件合并后某行代码结尾少了分号出现语法错误。举个例子:
文件一的代码如下
window.addEventListener('load',handler)
文件二的代码如下
(function fn(){})()
两个文件合并后就变成了window.addEventListener('load',handler)(function fn(){})()
这样就会有语法错误
如果在文件二的前面加一个分号
window.addEventListener('load',handler);(function fn(){})()
语法就正确了。
如果文件一末尾加了分号
window.addEventListener('load',handler);;(function fn(){})()
这样也不会出错,加上分号只是为了确保不会因为某个文件少了分号而无法运行

1 回复 有任何疑惑可以回复我~

function开头会被解析成函数,是为了表达一个函数表达式,语法分析器便知道将它作为一个函数表达式去解析而不是函数声明。

所以,你也可以加别的或者用括号包裹

!function(){/* code */}();
~function(){/* code */}();
-function(){/* code */}();
+function(){/* code */}();


0 回复 有任何疑惑可以回复我~
#1

bigggge

看错题了...
2017-01-08 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
CSS3扁平化博客之文章页及常用组件
  • 参与学习       36307    人
  • 解答问题       54    个

又一波 CSS3扁平化博客

进入课程

;$(function(){}) 前面的这个分号是不小心打上的么?

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号