felix-cao / Blog

A little progress a day makes you a big success!
31 stars 4 forks source link

JavaScript 函数的调用 #98

Open felix-cao opened 5 years ago

felix-cao commented 5 years ago

函数名跟随一对圆括号()表示函数调用

//函数声明语句写法
function test(){};
test();

//函数表达式写法
var test = function(){};
test();

[注意]javascript引擎规定,如果function关键字出现在行首,一律解释成函数声明语句

1.1 没有函数名称

函数声明语句需要一个函数名,由于没有函数名,所以报错

function(){}();
// SyntaxError: Unexpected token (

1.2 函数声明语句与分组操作符的组合

函数声明语句后面加上一对圆括号,只是函数声明语句与分组操作符的组合而已。由于分组操作符不能为空,所以报错

function foo(){}();
// SyntaxError: Unexpected token )

//等价于
function foo(){};
(); // SyntaxError: Unexpected token )

1.3 函数声明语句与不报错的分组操作符

函数声明语句加上一对有值的圆括号,也仅仅是函数声明语句与不报错的分组操作符的组合而已

function foo(){}(1);

//等价于
function foo(){};
(1);