//这里只是相当于进行了匿名函数的定义,后面的括号不能进行调用
//所以这样的调用方式有问题,即存在脚本错误,影响后续脚本的执行
//function(){
//var a = "can not execute";
//alert(a);
//}();
//如下便可执行
(function(){
var a = "here is a test";
alert(a);
})();
说明:自执行匿名函数,可以减少变量冲突和全局变量的污染。
对于代码片段:
function(){
var a = "here is a test";
alert(a);
}
只是定义了一个函数,因为没有函数名,无法正常获得该对象,但是因为确实存在这样一个对象A。这时一种特殊的方式可以获得该对象:(A),获得之后就可以调用了。就好比正常定义时函数名为B,调用时语句如:B();那么这里最终也是这样调用:(A)();
所以
(function(){
var a = "here is a test";
alert(a);
})();可以执行
如果需要参数,则有:
(function(para){
var a = "here is a test";
alert(a);
alert(para);
})("zengst");