日期:2014-05-16  浏览次数:20387 次

javascript里面的圆括号什么用
就像     (function(){

});

这个函数外面的那个圆括号有什么作用?

------解决方案--------------------
比如这个函数
function(){
var attachLinkEvent = function(link){
link.onclick = function(){
alert(link.getAttribute( "href "));
return false;
}
}
var links = document.getElementById( "three ").getElementsByTagName( "a ");
for (var i = 0; i < links.length; i++){
var link = links[i];
attachLinkEvent(link);
}
}
他的匿名函数可以这样写
function(){
var links = document.getElementById( "four ").getElementsByTagName( "a ");
for (var i = 0; i < links.length; i++){
(function(){
var link = links[i];
link.onclick = function(){
alert(link.getAttribute( "href "));
return false;
}
})();
}
}
------解决方案--------------------
返回值吧。
(function(){...})();
(function(){...})返回该函数;
()执行;
------解决方案--------------------
小风子回答正确

只要理解了在js里函数也是数据,就好理解这个东西了.
------解决方案--------------------
返回值吧。
(function(){...})();
(function(){...})返回该函数;
()执行;

那么
(function(){...});
(去掉最后面的括号)会有什么效果呢?
------解决方案--------------------
javascript里函数可以是参数,参数也可以是函数。甚至有写特殊符也可以被定义为函数,他没有严格的规范,所以它是弱类型的语言。不,不能称它为语言,只能是脚本。比如: "$ "就可以被定义为一个函数,prototype.js里有定义。