<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<script>
//匿名函数:没有明子的函数,主要用于给其他表达式赋值使用
//匿名函数作为变量的值
var function1 = function(){//将匿名函数赋值给名为function1的变量
console.log("function1");
}
function1();//调用执行函数,输出结果 function1
//匿名函数作为方法的返回值
function function2(){
return function(){//匿名函数作为方法的返回值
console.log("function2");
}
}
var v2 = function2();//调用方法并将返回值赋值给变量v2
v2();//调用方法(返回值返回的方法),输出结果function2
//匿名函数作为参数使用: setTimeout(函数,毫秒值)
setTimeout(function(){
console.log("function3");//可以使用匿名函数或函数名称
},1000);//等待1000毫秒执行,输出结果为 function3
//函数作为参数(回调函数)
function function4(a){
a();
}
function4(function(){//调用function4方法,将匿名函数作为参数传给参数a
console.log("匿名函数");
});
//回调函数平级间参数传递
function function5(x,y){
console.log(x,y);
}
function function6(a,b){
function5(a,b);//在function6中调用function5,可以将function6的参数传递给function5
}
function6(3,5);
/*给变量赋值,作为参数或者返回值,使用匿名函数
用函数给其他表达式赋值,用过一次后就不用了,如果有函数名称用完会一直存在占用内存
匿名函数用完一次后自动销毁*/
function function7(){
console.log("function7");
}
var v5 = function7;
v5();
//函数本身也是一种数据类型
console.log(typeof function7);//输出方法的类型,输出结果:function
</script>
</body>
</html>