匿名函数
匿名函数:顾名思义,就是没有名字的函数
function (){
console.log("我是匿名函数");
}
但既然是函数,那总要拿出来用吧,他名字都没有,我们怎么用它呢,这里有两种使用匿名函数的方法
第一种:定义变量赋值
就是定义一个变量,用这个变量去接收这个函数,然后使用这个变量去调用函数
var b = function (){
console.log("我是匿名函数");
}
b(); //调用
方法二:自调用函数
简单来说,就是自己调用自己,我们看到上面的方法,他是定义了一个变量去接受整个函数,那么我们可不可以把这整个函数当做一个整体,直接调用他
(function (){
console.log("我是匿名函数");
})();
我们看到他是可以打印出结果的,像这样的定义后立即调用的,我们称之为自定义函数,并且他只会调用一次
自调用函数
自调用函数:自己调用自己,是定义完就立即执行的,并且只执行一次
自定义函数的写法
原理:因为在JavaScript语言中,()里面不能包含语句(只能是表达式),所以解析器在解析到function关键字的时候,会把它们当作function表达式,而不是正常的函数声明。
注意:如果有多个自调用函数在一起,一定要用分号(;)隔开,不然会报错
1:第一种
(function (){
console.log("我是匿名函数");
})();
(function fn(){
console.log("222");
})()
2:第二种
(function (){
console.log(333);
}());
(function fn1(){
console.log(333);
}());
其他写法
操作符也可达到()的作用
!function (){
console.log("heihei");
}();
~function (){
console.log("haha");
}();
自调用函数的传参
自调用函数的传参和普通函数一样,形参在定义函数的时候设置,实参就在后面的()里设置就好了
(function (q){
console.log(q);
})(1);
//打印结果:1