美文网首页JavaScript 使用记录
JavaScript 理解函数的参数

JavaScript 理解函数的参数

作者: 赵者也 | 来源:发表于2017-12-06 14:31 被阅读35次

ECMAScript 函数的参数与大多数其他语言中函数的参数有所不同。ECMAScript 函数不介意传递进来多少个参数,也不在乎传进来的参数是什么数据类型。也就是说,即便我们定义的函数是只接收两个参数的,在调用该函数时也未必一定要传递两个参数。我们可以传递一个、三个或者一个也不传,而解析器永远不会报错或发出警告。这是因为 ECMAScript 中的参数在内部是用一个数组来表示的。函数接收到的其实始终是这个数组,而不关心数组中包含哪些参数。实际上,在函数体内可以通过 arguments 对象来访问这个参数数组,从而获取传递给函数的每一个参数。

其实,arguments 对象只是与数组类似(它并不是 Array 的实例),因为可以使用方括号语法访问它的每一个元素(即第一个元素是 arguments[0],第二个元素是 arguments[1],并以此类推),我们可以使用 length 属性来确定传递进来多少个参数。

下面是一个使用实例:

    Item {
        id: testA
        property string sayHello: "hello world"
        property string sayBye: "goodbye"

        function sayHi(words) {
            console.log("sayHi: ", words, arguments[1])
            console.log("sayHi: ", arguments[0], arguments[1])
        }
    }

    Item {
        id: testB

        Component.onCompleted: {
            // js start
            testA.sayHi("hello","everyone")
            // js end
        }
    }

输出结果:

输出结果

从实际的使用以及输出结果来看,我们可以知道,为函数提供命名的参数只是提供便利,但不是必需的。

通过访问 arguments 对象的 length 属性可以获知有多少个参数传递给了函数。

开发人员可以利用这一点让函数接收任意个数的参数,并根据参数的个数来决定实现怎样的功能。

虽然 ECMAScript 没有重载,但是这一特性也可以算是一种弥补。

相关文章

  • JavaScript函数、this以及闭包

    JavaScript笔记(三) 函数 理解函数 Javascript函数的参数与大多数其他语言中的函数的参数不同。...

  • 系统学习 JavaScript 的笔记【4】

    JavaScript 函数 在函数中只要执行完了 return ,函数就会停止并且退出 参数的理解,参数的传递在 ...

  • JavaScript 理解函数的参数

    ECMAScript 函数的参数与大多数其他语言中函数的参数有所不同。ECMAScript 函数不介意传递进来多少...

  • 深入学习JavaScript-函数&闭包

    函数 理解参数 JavaScript函数不介意传递多少个参数,也不介意传递参数的数据类型。也就是说函数定义接受多少...

  • 2019-06-26

    深入理解JavaScript 参数按值传递 定义:ECMAScript中所有函数的参数都是按值传递的。 值传递:函...

  • javascript函数,以及闭包的理解

    javascript函数,以及闭包的理解 深入理解javascript函数定义与函数作用域深入理解javascri...

  • JavaScript学习笔记(三)

    主要源于廖雪峰老师的JavaScript教程 1. 高阶函数 参数传入函数 JavaScript的函数其实都指向某...

  • ES6 笔记 箭头函数

    箭头函数其实就是lambda函数,JavaScript中的匿名函数 多个参数时,参数外加上括号(或者使用rest ...

  • TypeScript函数使用

    使用函数 有可选参数的函数 与JavaScript不同,调用函数时传的参数的数量或者类型不符合函数中定义的参数要求...

  • 2018-06-06

    JavaScript函数 1. arguments对象 — 函数的实参参数集合 // 循环...

网友评论

    本文标题:JavaScript 理解函数的参数

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