匿名函数自调用函数

<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>

猜你喜欢

转载自www.cnblogs.com/yuanxiangguang/p/11110430.html