美文网首页
3.7 函数

3.7 函数

作者: meiqiuyang | 来源:发表于2018-05-17 23:14 被阅读0次

函数对任何语言来说都是一个核心的概念。通过函数可以封装任意多条语句,而且可以在任何地放任何时间调用执行。ECMAScript中的函数使用function关键字来声明,后跟一组参数以及函数体。函数的基本语法如下:

function functionName(arg0,arg1,,,,argN){
  statements
}

以下是一个函数示例:

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

ECMAScript中的函数在定义时不必指定是否返回值。实际上,任何函数在任何时候可以通过return语句后跟要返回的值来实现返回值。例子:

function sum(num1, num2) {
    return num1 + num2;
}

这个函数会在执行完return语句之后停止并立即退出。因此,位于return语句之后的任何代码都永远不会执行。
3.7.1 理解参数
ECMAScript函数的参数与大多数其他语言不同。ECMAScript函数不介意传递进来多少阐述,也不在乎传进来参数是什么类型。之所以这样,因为在ECMAScript中的参数在内部都是用一个数组来表示的。函数接收到的始终都是这个数组,而不关心数组中包含哪些参数。实际上,在函数体内可以通过arguments对象来访问这个参数数组,从而获取传递给函数的每一个参数。
其实,arguments对象只是和数组类似(它并不是Array的实例),因为可以使用方括号语法访问它的每一个元素(即第一个元素是arguments[0],第二个元素是arguments[1],以此类推),使用length属性来确定传递进来多少参数。
如果要实现类似于重载的功能,可以使用下面的方法:

function doAdd() {
    if (arguments.length == 1) {
        console.log(arguments[0] + 10);
    } else if (arguments.length == 2) {
        console.log(arguments[0] + arguments[1]);
    }
}

3.7.2 没有重载
ECMAScript函数不能像传统意义上实现重载。其他语言,可以为一个函数编写两个定义,只要这两个定义的签名(接受的参数的类型和数量)不同即可。
如果要实现重载,可以参考上一章的例子。

相关文章

  • 3.7 函数

    函数对任何语言来说都是一个核心的概念。通过函数可以封装任意多条语句,而且可以在任何地放任何时间调用执行。ECMAS...

  • 3.7 主函数

    一、主函数 主函数:是一个特殊的函数,座位程序的入口,可以jvm调用。主函数的定义“public:代表该函数访问权...

  • python——list(map())函数的用法

    版本:python3.7 map()函数## map()是 Python 内置的高阶函数,它接收一个函数 f 和一...

  • JS红宝书-- 3.7 函数

    基本语法使用function关键字声明,后跟一组参数以及函数体 使用return语句实现返回值,执行完后立即退出 ...

  • 3.7 函数、3.8 小结

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

  • python 基础语法1

    Print函数 跨平台,但版本之间不太兼容,3.7 需要加括号,print() print()函数由两部分构成:1...

  • 三高复习笔记(4)

    微观复习隐藏行动和外部性,宏观复习消费函数,计量复习3.4节至3.7节

  • Less 的Each用法

    Each函数是Less v3.7版本的新增用法,用于批量生成模板样式。文档如下: each Released ...

  • Typescript 3.9 常用新特性

    写在前面 挑重点的讲一讲 在条件语句中检测未调用的函数 在 3.7 的时候引入了检测未调用函数错误提示,3.9 做...

  • Python 函数参数有冒号 声明后有-> 箭头 返回值注

    在python3.7 环境下 函数声明时能在参数后加冒号,如图: 可能有疑问,python不是动态类型语言 ,难不...

网友评论

      本文标题:3.7 函数

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