Function(函数) - 术语表 编辑
function,函数,是一个可以被其他代码或其自身调用的代码片段,或者是一个指向该函数的变量 。 当函数被调用时,参数被作为输入传递给函数,并且函数可以返回输出。在 JavaScript 中,函数也是一个对象。
函数名是作为函数声明或函数表达式的一部分声明的标识符。函数的作用域取决于函数名是一个声明还是表达式。
不同类型的函数
匿名函数是一个没有函数名的函数:
function () {};
// or using the ECMAScript 2015 arrow notation
() => {};
命名函数是具有函数名称的函数:
function foo() {}
// or using the ECMAScript 2015 arrow notation
const foo = () => {};
内部函数是另一个函数内的函数(下面例子中的 square
)。外部函数是包含一个函数的函数(下面例子中的 addSquares
):
function addSquares(a,b) {
function square(x) {
return x * x;
}
return square(a) + square(b);
};
//Using ECMAScript 2015 arrow notation
const addSquares = (a,b) => {
const square = x => x*x;
return square(a) + square(b);
};
递归函数是调用自身的函数。可参考递归。
function loop(x) {
if (x >= 10)
return;
loop(x + 1);
};
//Using ECMAScript 2015 arrow notation
const loop = x => {
if (x >= 10)
return;
loop(x + 1);
};
立即调用函数表达式
(IIFE)是一种被加载到浏览器的编译器之后直接调用的函数。识别 IIFE 的方法是通过在函数声明的末尾定位额外的左和右括号。
// Error (https://en.wikipedia.org/wiki/Immediately-invoked_function_expression)
/*
function foo() {
console.log('Hello Foo');
}();
*/
(function foo() {
console.log("Hello Foo");
}());
(function food() {
console.log("Hello Food");
})();
如果你想进一步了解 IIFE, 可参考以下的维基百科的页面:Immediately Invoked Function Expression
了解更多
技术参考
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论