学习JavaScript中,日常笔记总结

函数

函数对任何语言来说都是核心组件,因为它们可以封装语句,然后在任何地方、任何时间执行。ECMAScript 中的函数使用 function 关键字声明,后跟一组参数,然后是函数体。


以下是函数的基本语法:

function functionName(arg0, arg1,...,argN) {

    statements

}

下面是一个例子:

function sayHi(name, message) {

    console.log("Hello " + name + ", " + message);

}

可以通过函数名来调用函数,要传给函数的参数放在括号里(如果有多个参数,则用逗号隔开)。下面是调用函数 sayHi()的示例:

sayHi("Moyasky ", "how are you today?");

调用这个函数的输出结果是"Hello Moyasky, how are you today?"。参数 name 和 message 在函数内部作为字符串被拼接在了一起,最终通过 console.log 输出到控制台。

ECMAScript 中的函数不需要指定是否返回值。任何函数在任何时间都可以使用 return 语句来返回函数的值,用法是后跟要返回的值。比如:

function sum(num1, num2) {

    return num1 + num2;

}

函数 sum()会将两个值相加并返回结果。注意,除了 return 语句之外没有任何特殊声明表明该函数有返回值。然后就可以这样调用它:

const result = sum(5, 10);

要注意的是,只要碰到 return 语句,函数就会立即停止执行并退出。因此,return 语句后面的代码不会被执行。比如:

function sum(num1, num2) {

    return num1 + num2;

    console.log("Hello world"); // 不会执行

}

在这个例子中,console.log 不会执行,因为它在 return 语句后面。

一个函数里也可以有多个 return 语句,像这样:

function diff(num1, num2) {

    if (num1 < num2) {

        return num2 - num1;

    } else {

        return num1 - num2;

    }

}

这个 diff()函数用于计算两个数值的差。如果第一个数值小于第二个,则用第二个减第一个;否则,就用第一个减第二个。代码中每个分支都有自己的 return 语句,返回正确的差值。

return 语句也可以不带返回值。这时候,函数会立即停止执行并返回 undefined。这种用法最常用于提前终止函数执行,并不是为了返回值。比如在下面的例子中,console.log 不会执行:

function sayHi(name, message) {

    return;

    console.log("Hello " + name + ", " + message); // 不会执行

注意:最佳实践是函数要么返回值,要么不返回值。只在某个条件下返回值的函数会带来麻烦,尤其是调试时。

严格模式对函数也有一些限制:

︎● 函数不能以 eval 或 arguments 作为名称;

︎● 函数的参数不能叫 eval 或 arguments;

︎● 两个命名参数不能拥有同一个名称。

如果违反上述规则,则会导致语法错误,代码也不会执行。


总结

函数是一组可以随时随地运行的语句。

函数是 ECMAScript 的核心。

您能够对代码进行复用:只要定义一次代码,就可以多次使用它。

您能够多次向同一函数传递不同的参数,以产生不同的结果。

ECMAScript 中的函数与其他语言中的函数不一样。

︎● 不需要指定函数的返回值,因为任何函数可以在任何时候返回任何值。

︎● 不指定返回值的函数实际上会返回特殊值 undefined。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值