函数

函数声明

如果同一个函数被多次声明,后面的声明就会覆盖前面的声明。数可以调用自身,这就是递归(recursion)。下面就是通过递归,计算斐波那契数列的代码。由于函数与其他数据类型地位平等,所以在JavaScript语言中又称函数为第一等公民。所以采用function命令声明函数时,整个函数会像变量声明一样,被提升到代码头部。根据ECMAScript的规范,不得在非函数的代码块中声明函数,最常见的情况就是if和try语句。

//function命令
function print(s) {
  console.log(s);
}

//函数表达式
var print = function(s) {
  console.log(s);
};

//Function构造函数
var add = new Function(
  'x',
  'y',
  'return x + y'
);
// 等同于
function add(x, y) {
  return x + y;
}

//递归
function fib(num) {
  if (num === 0) return 0;
  if (num === 1) return 1;
  return fib(num - 2) + fib(num - 1);
}
fib(6) // 8

//不要这么做
if (foo) {
  function x() {}
}

try {
  function x() {}
} catch(e) {
  console.log(e);
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容