zoukankan      html  css  js  c++  java
  • 渡一 9-2立即执行函数

    只有表达式才能被执行,函数声明不能执行,必须调用

    function(){...}//函数声明
    
    (function(){...}())//表达式

    只有表达式才能被执行符号执行,下面的声明是不能直接调用的;

    function test(){
        var a=123;
    }();//出错,函数声明不能被直接调用
    test();
    
    
    //能被函数执行的表达式,名字被自动忽略,test()找不到了
    var test=function(){
        console.log('a')
    }()
    
    
    //传参
    function test(a,b,c,d){
        console.log(a+b+c+d)
    }(1,2,3,4)

    功能:只需要执行一次,初始化函数

    var num = (function(a,b,c){
        console.log(a)
        var d=a+b+c*2-2
        return d;
    }(1,2,c))//w3c建议
    
    第二种引用方法
    
    (function(){})()
    
    其它数学运算符号转换
    
    //+ - ! && ||都可以转成表达式
    +function test() {
        // body...
    }();

     初始化数据 立即执行函数

    var num = (function(a,b){
        console.log(a+b);
        return a+b;
    }(1,2))

    arguments方法

    arguments.callee  指函数本身
    func.caller 找到是谁调用的,一般没什么用var num = (function(n){    if(n==1){return 1;}

    return n*arguments.callee(n-1);
    }(100))
    
    
    function test(){
        console.log(arguments.callee);//test
        function demo(){
            console.log(arguments.callee);//demo
        }
    }

    function test(){ demo(); } function demo(){ console.log(arguments.caller) } test();
  • 相关阅读:
    Release COM Objects in AE
    图像相关系数
    Geoprocessor edit the featureclasses in memmory
    NetLogo AStar path finding
    IDL+C#三种调用方式
    Dictionary is not like a array
    C# DataGridView 禁止列排序
    工作总结
    (转)常见数据库设计(1)——字典数据
    碎碎念(3)
  • 原文地址:https://www.cnblogs.com/lisa2544/p/15291640.html
Copyright © 2011-2022 走看看