函数

您所在的位置:网站首页 fv函数表达式 函数

函数

2023-07-31 15:08| 来源: 网络整理| 查看: 265

定义一个函数并不会自动的执行它。定义了函数仅仅是赋予函数以名称并明确函数被调用时该做些什么。调用函数才会以给定的参数真正执行这些动作。例如,一旦你定义了函数square,你可以如下这样调用它:

js

square(5);

上述语句通过提供参数 5 来调用函数。函数执行完它的语句会返回值 25。

函数一定要处于调用它们的域中,但是函数的声明可以被提升 (出现在调用语句之后),如下例:

js

console.log(square(5)); /* ... */ function square(n) { return n * n; }

函数域是指函数声明时的所在的地方,或者函数在顶层被声明时指整个程序。

备注: 只有使用如上的语法形式(即 function funcName(){})才可以。而下面的代码是无效的。就是说,函数提升仅适用于函数声明,而不适用于函数表达式。

js

console.log(square); // square is hoisted with an initial value undefined. console.log(square(5)); // Uncaught TypeError: square is not a function const square = function (n) { return n * n; };

函数的参数并不局限于字符串或数字。你也可以将整个对象传递给函数。函数 show_props(其定义参见用对象编程)就是一个将对象作为参数的例子。

函数可以被递归,就是说函数可以调用其本身。例如,下面这个函数就是用递归计算阶乘:

js

function factorial(n) { if (n == 0 || n == 1) return 1; else return n * factorial(n - 1); }

你可以计算 1-5 的阶乘如下:

js

var a, b, c, d, e; a = factorial(1); // 1 赋值给 a b = factorial(2); // 2 赋值给 b c = factorial(3); // 6 赋值给 c d = factorial(4); // 24 赋值给 d e = factorial(5); // 120 赋值给 e

还有其他的方式来调用函数。常见的一些情形是某些地方需要动态调用函数,或者函数的实参数量是变化的,或者调用函数的上下文需要指定为在运行时确定的特定对象。显然,函数本身就是对象,因此这些对象也有方法(参考Function )。作为此中情形之一,apply()方法可以实现这些目的。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3