zoukankan      html  css  js  c++  java
  • javaScript高级程序设计--第7章函数表达式

    1.定义函数的方式有两种:

    a.函数声明:

      getName();

      function getName(){ alert("123")};

    函数声明的特征:函数声明的提升,所以上面的例子才可以在函数声明前调用函数而不报错

    b.函数表达式(又叫匿名函数,注意不能在表达式完成前调用,会报错)

        var getName = function(){alert("123")};

      getName();

    2.递归

      arguments.callee  指向一个正在执行的函数的指针,所以实现递归时最好使用这种方法(此方法在严格模式下会报错),而不是调用自身函数名

    3.闭包

      经典案例:

     //改版前

    function getNum(){

      var result = new Array();

      for(var i=0;i<10;i++){

        result[i] = function(){

          return i;

        }

      }

      return result;

    }

      getNum() //10次都返回10;

     //改版后

    function getNum(){    

      var result = new Array();

      for(var i=0;i<10;i++){

        result[i] = function(num){

          return function(){ return num;} //

        }(i) //自执行函数,i一直会变通过num再传进去

      }

      return result;

    }

      getNum() //1,2,3,4,5,6,7,8,9,10

  • 相关阅读:
    字节流
    类File
    try...catch语句
    Collections工具类
    类TreeMap
    类HashMap
    类TreeSet
    jquery 选择器加变量
    bootstrap 事件shown.bs.modal用于监听并执行你自己的代码【写hostmanger关联部门遇到的问题及解决方法】
    jquery中append、prepend, before和after方法的区别(一)
  • 原文地址:https://www.cnblogs.com/chenxiaomei0104/p/10538701.html
Copyright © 2011-2022 走看看