javaScript高级程序设计--第7章函数表达式

Posted chenxiaomei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

以上是关于javaScript高级程序设计--第7章函数表达式的主要内容,如果未能解决你的问题,请参考以下文章

《JavaScript高级程序设计》笔记目录

JavaScript 高级程序设计第 7 章 迭代器和生成器 学习笔记

javaScript高级程序设计第3章学习记录

JavaScript高级程序设计(第3版)第五章读书笔记

JavaScript高级程序设计(第三版)学习笔记222425章

《JavaScript高级程序设计(第四版)》学习笔记第5章