匿名函数又叫拉姆达函数, 使用前需要先赋值。
//hello();//会报错,因为定义在后,使用在前。
var hello=function(){
console.log("hello");
};
hello();//hello
外层函数类型: | 署名函数 | 匿名函数 |
---|---|---|
变量 | 可以访问 | 可以访问 |
属性 | 不能访问 | 可以访问 |
该类函数没有声明,直接执行,执行完立即释放。一般做初始化比较合适。
(function (){
console.log("写法一");
}());//w3c建议写法
(function (){
console.log("写法二");
})();
function (){}()
,这样不行,因为function (){}
是声明不是表达式,如果是var fn=function (){}();
就可以 function fn(a,b,c){
console.log(a+b+c);
}(12,20,30);//不报错原因是(12,20,30)当做逗号表达式用。
(function fn(a,b,c){
console.log(a+b+c);
}(12,20,30));//62
var x=function add(a,b){
console.log(a+b);
}(10,20);//30
console.log(x);//undefined
console.log(add);//不存在,报错
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/188490.html原文链接:https://javaforall.cn