<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>函数类型</title>
</head>
<body>
<script>
// var myFunction=function Calc(a,b){
// return a*b;
// }
//函数类型
//alert(typeof myFunction)
// alert(myFunction(3,5))
// myFunction(1,2) //声明函数可以赋值给函数变量
// var test=function(x,y){
// return x,y
// }
/**
* 自定义函数 通过function关键字 function 函数名称(参数,...){
代码段
return 返回值
* }
注意 : 函数名称不要包含特殊字符
函数名称最好含义明确
函数名称最好遵循驼峰标记法或者下划线
函数名严格区分大小写
函数名如果重复会产生覆盖
函数可以有参数也可以没有参数 .可以有一个参数也可以多个参数
函数通过return 加返回值 .如果没有return 默认值返回undefind
函数不调用不执行
匿名函数:---->函数表达式可以存储变量中,变量也可以作为一个函数使用
可以将匿名函数作为参数传递给其它函数 .接收函数就可以通过传递进来的
函数完成某些功能
可以通过匿名函数来执行某些一次性的任务
**/
// var test2 =function(x,y){
// return x*y;
// }
// // alert(test2(5,4))
// var tets3=test2;
// alert(tets3(3,4))
//回调函数 列子
/*function Calc(x,y){
return x() + y()
}
function test1(){
return 3;
}
function test2(){
return 5;
}
//alert (Calc(test1,test2))
alert(Calc(function(){return 5;},function(){return 4;}));*/
/*回调函数列子2 让里面的参数*2* /*/
/*function Test2(a,b,c){
var arr=[];
for(var i=0;i<3;i++){
arr[i]=arguments[i]*2
}
return arr
}
function plus(a){
return a+1
}
var arr1=[];
arr1=Test2(10,30,40);
alert(arr1);
for(var i=0;i<3;i++){
arr1[i]=plus(arr1[i]);
}
alert(arr1)*/
//callback 回调函数
/*function tets(a,b,c,callback){
var i,arr=[];
for(i=0;i<3;i++){
arr[i]=callback(arguments[i])
}
return arr
}
function add(a){
return a+2
}
//alert(tets(3,4,5,add))
//用匿名函数调用
alert(tets(7,8,9,function(a){
return a+1;
}))
*/
//作为回调函数调用函数 call() apply()
function Calc2(a,b){
return a*b
}
//alert(Calc2.call(Calc2,5,10))
//用apply来调用 =,以数组的形式调用
var params=[3,4]
alert(Calc2.apply(Calc2,params))
//自调用函数 --->只能执行一次
( function(){
alert('this is a bb ')
}
)();
(
function(a,b){
alert(a,b)
}
)(3,5)
</script>
</body>
</html>
每个你讨厌的现在,都有一个不努力的曾经
浙公网安备 33010602011771号