说明
前两篇文章,我们似乎已经明白为什么,立即执行函数要那样写了,这次为了能更加深入理解,我们来说说圆括号的事。
解释
1、分组运算符
在JavaScript中 圆括号 有提高优先级的作用,达到低优先级的表达式比高优先级的表达式更早运算。
var a=1+2*3; //a的值为7
var b=(1+2)*3; //a的值为9
2、传递参数
在声明函数或者调用函数的时候,如果有参数,需要放在圆括号中
//函数声明 传递形参 x
function a(x){
console.log(x);
}
//函数调用 传递实参 2
a(2);
3、调用函数或者方法
函数声明的时候是不执行的,如果需要执行就要用到圆括号,来调用它。
function a(){
console.log(1);
}
a(); //函数调用
4、限定作用
圆括号和一些语句一起使用以达到某些限定作用,比如
条件(conditional)语句
var a=3;
if(a<4){ ///限定a<4 才执行 花括号中的代码
console.log(a);
}
循环(loop)语句
//限定a<4 才执行 花括号中的代码
for(var a=0;a<4;a++){
console.log(a);
}
var b=4;
//限定b<5 才执行 花括号中的代码
while(b<5){
console.log(b);
b++;
}
5、强制表达式运算
function a(){
console.log(1);
}(); //()前面是函数声明 所以会报错
(function a(){
console.log(1);
})(); //()前面是函数表达式 所以会立即执行
JavaScript中圆括号()里面不能包含语句,所以在这一点上,解析器在解析function关键字的时候,会将相应的代码解析成函数表达式,而不是函数声明。
总结
这篇文章主要在说圆括号,也是为了能让大家更加理解立即执行函数,下一篇会对立即执行函数进行最后的总结。