【发布时间】:2011-01-26 04:39:00
【问题描述】:
我正在尝试阅读原型源。我来到了这部分。(不幸的是,这个sn-p是在开始)。
这个()是什么意思?
Browser: (function(){
var ua = navigator.userAgent;
var isOpera = Object.prototype.toString.call(window.opera) == '[object Opera]';
return {
IE: !!window.attachEvent && !isOpera,
Opera: isOpera,
WebKit: ua.indexOf('AppleWebKit/') > -1,
Gecko: ua.indexOf('Gecko') > -1 && ua.indexOf('KHTML') === -1,
MobileSafari: /Apple.*Mobile.*Safari/.test(ua)
}
})(),
我指的是逗号前的最后一行?
【问题讨论】:
-
注意:根据jslint,你应该将最终执行的括号移到函数括号内:
(function() {...}()) -
@ErikE 不过,他们最终会做同样的事情。看到这个问题:stackoverflow.com/questions/6645766/…
-
没有争论他们做同样的事情。这是一种风格上的考虑,因为通过不将执行括号放在外部对中,可能不清楚返回的是函数的结果而不是函数本身.
标签: javascript