语术
# 语术表
# API
一个API(Application Programming Interface,应用编程接口)是软件中的一系列和规则,这些特征和规则允许其它软件与之交互。API可被视为提供它的应用与其它软硬件之间的一个简单合约。
在Web开发中,API通常是开发者能用在应用中的一些列代码特征(如,方法、属性、事件和URL),这些特性被用于与用户的web浏览器中的组件、用户电脑上的其它软硬件或者第三方服务交互。
# Frist-class Function
头等函数
当一门编程语言的函数可以被当作变量一样用时,则称这门语言拥有头等函数。例如,在这门语言中,函数可以被当作参数传递给其他函数,可以作为另一个函数的返回值,还可以被赋值给一个变量。
# 使用示例
const foo = function(){
console.log("test");
}
foo();
1
2
3
4
2
3
4
这里我们把一个匿名函数赋值给一个变量 (en-US) (opens new window),然后我们在这个变量后面加上一对圆括号 ()
来调用这个函数。
function sayHello(){
return "hello";
}
function greeting(helloMessage,name){
console.log(helloMessage()+name);
}
greeting(sayHello,"js");
1
2
3
4
5
6
7
2
3
4
5
6
7
这里我们传递 sayHello()
函数作为 greeting()
函数的参数,这就印证了头等函数定义所说的——我们把函数当作值或者说是变量来对待。
**回调函数:**我们把一个函数作为参数传递给另外一个函数,那么我们就称这个函数为回调函数。
sayHello()
函数就是一个回调函数。
function sayHello(){
return function(){
console.log("hello");
}
}
1
2
3
4
5
2
3
4
5
在这个例子中,我们需要从另外一个函数中返回一个函数,之所以可以返回一个函数,是因为在 Javascript 中,函数可被作为值来对待。
**高阶函数(Higher-Order Function):**一个返回另外一个函数的函数被称为高阶函数。
const sayHello = function() {
return function() {
console.log("Hello!");
}
}
const myFunc = sayHello();
myFunc(); // Hello!
1
2
3
4
5
6
7
2
3
4
5
6
7
你要用另外一个变量来调用它。如果你直接用 sayHello
来调用这个函数,它会返回这个函数自身,而不会调用它里面被返回的函数。
function sayHello() {
return function() {
console.log("Hello!");
}
}
sayHello()();
1
2
3
4
5
6
2
3
4
5
6
我们使用双括号 ()()
来调用 sayHello()
返回的函数。
编辑 (opens new window)
上次更新: 2023/02/07, 14:51:48