很多朋友可能会注意到,在一些插件的代码起始位置有一个分号(;)。
从表面看,它真的是毫无用处,甚至有些奇怪,所以也有很多朋友会问这么做的原因是什么。
   [ jQuery ] 运行代码    下载代码
<script type>="text/javescript">
;function(global, factory){
                     factory(global);
}(typrof window !== "underfined" ? window : this, function(window, noGlobal){
var jQuery = function( selector,contexe ) {
     return new jQuery.fn.init( selector, context);
};
jQuery.fn = jQuery.prototype ={};
//核心方法
//回调系统
//异步队列
//数据缓存
//队列操作
//选择操作
//节点遍历
//文档处理
//样式操作
//属性操作
//事件体系
//AJAX交互
//动画引擎
return jQuery;
}));
可以看到在JavaScript代码的起始位置有一个分号。
这样做是非常有必要的,可以防止一些意外发生,比如当与其他代码合并压缩的时候。
如果不在前面添加一个分号,那么这个小括号可能会和前面合并的代码产生一个语法关联。
看一段代码实例:
   [ jQuery ] 运行代码    下载代码
a = b
(function() {
   // code 
})()
上面代码的本意如下:
(1).变量b的值赋值给变量a。
(2).然后执行匿名函数。但是JavaScript解析器对上述代码的实际解读如下:
   [ jQuery ] 运行代码    下载代码
a = b(function() {
   // code 
})()
b变成了一个函数,参数是匿名函数,这完全背离了原来代码的初衷。
使用分号可以进行一个断句,完全避免了上述类似问题的出现。

代码描述:JavaScript 代码开头添加分号。JavaScript 代码开头添加分号



306 407



用户评论
大牛,别默默的看了,快登录帮我点评一下吧!:)      登录 | 注册



×
×
51前端

注册

×
绑定手机

请绑定手机号,在继续操作

×
单次下载支付

应付金额:279

支付完成后,回到下载页面,在进行下载

官方QQ群
意见反馈
qq群

扫描上面二维码加微信群

官方QQ群

jQuery/js讨论群
群号:642649996
Css3+Html5讨论群
群号:322131262

加群请备注:从官网了解到