美文网首页
3.7 函数、3.8 小结

3.7 函数、3.8 小结

作者: Wuthier | 来源:发表于2021-05-08 13:34 被阅读0次

3.7 函数

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

function sayHi(name, message) {
    console.log("Hello " + name + ", " + message);
}

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

下面是调用函数sayHi()的实例:

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

调用这个函数的输出结果是“Hello Nicholas,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。这种用法最常用于提前终止函数执行,并不是为了返回值。

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

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

  • 函数不能以eval或argument作为名称;
  • 函数的参数不能叫eval或arguments;
  • 两个命名参数不能拥有同一个名称。

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

3.8 小结

JavaScript的核心语言特性在ECMA-262中以伪语言ECMAScript的形式来定义。ECMAScript包含所有基本语法、操作符、数据类型和对象,能完成基本的计算任务,但没有提供获得输入和产生输出的机制。理解ECMAScript及其复杂的细节是完全理解浏览器中JavaScript的关键。下面总结一下ECMAScript中的基本元素:

  • ECMAScript中的基本数据类型包括Undefined、Null、Boolean、Number、String和Symbol。
  • 与其他语言不同,ECMAScript不区分整数和浮点数,只有Number一种数值数据类型。
  • Object是一种复杂数据类型,它是这门语言中所有对象的基类。
  • 严格模式为这门语言中某些容易出错的部分施加了限制。
  • ECMAScript提供了C语言和类C语言中常见的很多基本操作符,包括数学操作符、布尔操作符、关系操作符、相等操作符和赋值操作符等。
  • 这门语言中的流控制语句大多是从其他语言中借鉴而来的,比如if语句、for语句和switch语句等。

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

  • 不需要指定函数的返回值,因为任何函数可以在任何时候返回任何值。
  • 不指定返回值的函数实际上会返回特殊值undefined。

学习下一篇文章

相关文章

  • 3.7 函数、3.8 小结

    3.7 函数 函数对任何语言来说都是核心组件,因为它们可以封装语句,然后再任何地方、任何时间执行。ECMAScri...

  • Hadoop权威指南-ch3 HDFS(5)

    注:本文涉及书中3.7~3.8小结 使用现成的工具将数据导入HDFS中 可以使用现成的工具,如Flume和Sqoo...

  • 女王驾到,不得无礼

    活动时间3.7-3.8

  • 3.7 3.8

    昨天突然叫着吃烧烤 吃完也没有觉得特别开心,就算是做了一件不同的事情了 曙华对于展览提了很多的要求,做模型做的头昏...

  • 3.7~3.8

    七号,爬了瞭望塔,运动量满够,没吃宵夜。八号,感觉身体疲劳。估计跟来月经有关。适量运动,但没管住嘴,吃了葱花饼。减...

  • 多喝热水

    3.7女神节&&3.8国际女性节 3.7一杯奶茶&&3.8一杯白开水 女生更像是奶茶,活在宠爱中,甜腻 女人是水做...

  • 迷魂药😂

    3.7是中药,3.9是西药,问:3.8是什么药?

  • MobSF安装 for Mac

    环境要求 安装 Git 安装 Python 3.7 (3.8 is not supported) macOS Ca...

  • 2018-09-25

    9月21日任务 3.7 su命令 3.8 sudo命令 3.9 限制root远程登录 3.7 su命令 su us...

  • 3.7和3.8

    去年我过的是3.7 那时候你是我男朋友 今年推后了一天 是3.8 你是我先生 今天深圳小雨 鞋子湿了袜子湿了 像大...

网友评论

      本文标题:3.7 函数、3.8 小结

      本文链接:https://www.haomeiwen.com/subject/xytnlltx.html