• 函数


    函数声明

      function  test1( ){console.log(11111)}

    函数表达式

      var  test2  =  function  ( ){console.log(2222)}

    函数参数

      function  test(a, b){

        // 相当于隐式的在函数内定义a变量和b变量

        // arguments 实参列表 [11, 3, 4]

        // test.length 形参数量

      }

      test(11, 3, 4)

    有实参的形参和arguments相映射

      function  sum(a, b){

        // a有实参,所以和arguments相映射

        a  =  2;

        console.log(arguments[0])  // 2

        arguments[0]  =  3;

        console.log(a)  // 3

        // b没有实参,所以不能和arguments相映射

        b  =  2;

        console.log(arguments[1])  // undefined

      }  

      sum(1)

    闭包:当内部函数被保存到外部时,将会生成闭包,闭包会导致原有作用域链不释放,造成内存泄漏

      

    立即执行函数:此类函数没有声明,在一次执行过后即释放。适合做初始化工作

      只用函数表达式才能被执行负号执行

      (function ( ){ } ( ))

      (function ( ) { })( )

      function  test  ( ){console.log('不能被执行')}( )

      var  test  =  function  ( ) {console.log('可以被执行')})( )

      console.log(test)  // undefined

      + function  test ( ){console.log('可以被执行')}( )

      console.log(test)  // 报错

      - function  test ( ){console.log('可以被执行')}( )

      console.log(test)  // 报错

      ! function  test ( ){console.log('可以被执行')}( )

       console.log(test)  // 报错

    arguments.callee

      function  test ( ){

        console.log(arguments.callee)  // 输出test函数体

        console.log(arguments.callee  ==  test)  // true

      }

      test( )

      实例:

      var  num  =  (function (n){

        if(n  ==  1){

          return  1;

        }

        return  n  *  arguments.callee(n  -  1)

      }(100))

    fun.caller

      function  test ( ){

        demo( );

      }

      function  demo ( ){

        console.log(demo.caller)  // 输出test函数体

      }

     

  • 相关阅读:
    默认组件加载类
    加密工具类
    客户端安全传输密码至服务端的实现改进
    开发Angular库的简单指导(译)
    Windows中搭建Redis集群
    Mybatis中SqlMapper配置的扩展与应用(3)
    Mybatis中SqlMapper配置的扩展与应用(2)
    Mybatis中SqlMapper配置的扩展与应用(1)
    优化与扩展Mybatis的SqlMapper解析
    使用XSD校验Mybatis的SqlMapper配置文件(2)
  • 原文地址:https://www.cnblogs.com/cuishuangshuang/p/13228145.html
Copyright © 2020-2023  润新知