函数自执行

//函数表达式自执行尝试
var add=function(x,y){  
console.log(x+y);}(5,6);    
 //结果:11(正确))


//函数声明自执行尝试
function add(x,y){  
console.log(x+y);}(5,6);   
 //结果:无法执行,也没有抛出错误


//匿名函数自执行尝试
function(){ 
console.log(arguments[0]+arguments[1]);}(5,6);     
//结果:这个的问题就大了,抛出语法错误Uncaught SyntaxError: Unexpected token ...

匿名函数也是函数表达式,但是它为什么会抛出语法错误呢?

这是因为匿名函数虽然属于函数表达式,但是很明显它没有赋值操作,JavaScript解析会把它当做函数声明,会跟你要一个函数名,但是它是匿名函数,肯定没有名字,JavaScript混了,直接给你个错误让你反省一下。

你可能感兴趣的:(函数自执行)