0
点赞
收藏
分享

微信扫一扫

JavaScript学习笔记:函数与箭头函数

NodeJS函数

  • 由于js是弱语言,因此,函数的入参和出参可以为任意形式而不用指定类型。当然也没有办法使用冒号的形式进行参数类型注释。
  • 但是typescript可以使用冒号形式进行参数类型注释。

1. 普通的函数定义

    • 不带参数形式printHello
    • 带参数形式plus
    • 使用return获取返回值
function printHello() {
    console.log("Hello");
}

function plus(a, b) {
    return a * b;
}

printHello();
console.log(plus(1, 2));

2. 函数句柄

    • 定义一个常量的函数句柄。
const sumHDL = function (i) {
    var sum = 0;
    for (var a = 0; a < i; a++) {
        sum += a;
    }
    return sum;
};

console.log(sumHDL(5));
    • 定义一个可变的函数句柄。
function plus(a, b) {
    return a * b;
}

var plusHDL = plus;
console.log(plusHDL(3, 4));

3. 箭头函数

    • 虽然箭头函数有很多种描述方式,但是为了规范,一个项目工程里大家尽量用统一的方式去描述,可以提高代码的可维护性。
    • 箭头函数参考文档:https://www.w3school.com.cn/js/js_arrow_function.asp
    • 不带入参的箭头函数
let printHelloHDL2 = () => {
    console.log("Hello2");
}
/*
 * 相当于
let printHelloHDL2 = function() {
    console.log("Hello2");
}
 */
    • 带参数的箭头函数
// 带参数的箭头函数
let plusHDL = (a, b) => {
    console.log(a * b);
}
/*
 * 相当于
let plusHDL = function(a, b) {
    console.log(a * b);
}
 */

4. 函数的参数中内嵌函数

    • 这是我在看JavaScript项目中经常会看到的一些例子。
    • 最常见到的就是延时函数setTimeout
    • setTimeout(JavaScript 函数, 等待的毫秒数)
setTimeout(function() {
    console.log("delay Time Print")
}, 3000);
console.log("Start!");

// 或者写成如下形式:
setTimeout(() => {
    console.log("delay Time Print")
}, 3000);
console.log("Start!");
    • 但是上述表示方式,我还不知道如果存在入参,或者出参需要如何编写代码。
    • 比较通用的方式如下:
function add(a ,b) {
    return a + b;
}

function plus(a ,b) {
    return a * b;
}

function calculate(a, b, func) {
    var result = func(a, b);
    console.log(result);
}

calculate(1, 5, add);
calculate(2, 10, plus);
举报

相关推荐

0 条评论