文章目录
- 1.括号表达式
- 1.1.提高优先级
- 1.2.函数参数
- 1.3.立即执行函数表达式
- 1.4.执行单个或多个表达式
- 1.5. 条件表达式
- 2.匿名函数优点-函数表达式
- 2.1.匿名函数和声明函数
- 2.2.闭包
- 2.3.立即执行函数表达式
- 2.3.函数表达式小节
- 3.特殊符号-自执行函数
1.括号表达式
1.1.提高优先级
(1+2)*3 表达式中,()使得其优先级与数学运算中一致,先计算1+2再乘以3得出9。
1.2.函数参数
函数的定义和调用时,函数的形参和实参都要放在小括号中。
1.3.立即执行函数表达式
如下代码,(1,2,3)会被解析为函数的实参,(1,2,3)前面的()表达式会被解析为函数表达式。
(function fun(a,b,c){//…
})(1,2,3)
alert('aaa')
(function fun(a,b,c)
{//…
})(1,2,3)//Uncaught TypeError:alert(...) is not a function
需要注意的是,如果第一个()之前,还存在表达式,如下代码,则一定要在前一表达式结束之后写“;”,否则,会出现错误。这是因为不加“;”时,alert(‘aaa’)会被认为是函数表达式,中间部分被认为是函数参数,而实际上alert(‘aaa’)返回的是undefine,所以会报错。
1.4.执行单个或多个表达式
返回最后一个表达式的值,多个表达式之间需要用逗号“,”分隔开,如下代码;
(1,2+3,4+5,6)//代码会被一次执行,最后将6作为返回值,逗号表达式,以最后一个值作为返回值。
1.5. 条件表达式
if(a+b==c){} //if 和 { 之间的内容需放入括号中
2.匿名函数优点-函数表达式
2.1.匿名函数和声明函数
函数表达式是 JavaScript 中的一个既强大又容易令人困惑的特性。定义函数的方式有两种:一种是函数声明,另一种就是函数表达式。函数声明的语法是这样的。