javascript – 关于功能签名的问题

前端之家收集整理的这篇文章主要介绍了javascript – 关于功能签名的问题前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在网上发现了一个 javascript示例,让我有些困惑.我很新的javascript,但在“传统”语言中有很好的知识.当我尝试google时,我无法找到答案,所以我会问这里的问题,希望有人可以帮助我.

从一个“类”执行以下代码

@H_403_4@this.foo.addListener("xType",this,this.boo);

调用功能如下所示:

@H_403_4@//first argument (type:String) what kind of event //second argument (type:Function) listener - listening function addListener: function(kindOf,listener) {

我不明白的是参数的数量不匹配.当函数调用时,使用3个参数即“xType”,这个和this.boo,但是在函数签名中只有2个参数,即kindOf和listener.这是一些JavaScript功能,您可以使用函数中声明的其他参数量调用函数吗?或者这个代码应该如何工作?

解决方法

Is this some javascript functionality that you can call functions with some other amount of arguments than what is declared in the function?

这是对的. JavaScript不要求您调用与用于定义相同参数数量函数.

如果你把它称为太少,那么缺少的值就会有the special value undefined.如果你使用太多的值,这个函数需要使用the special array value arguments获取它们.例如,

@H_403_4@function alertMany() { for (var i = 0; i < arguments.length; i++) { alert(arguments[i]); } } alertMany("hello","goodbye"); alertMany("hello","hello again","hello once more","farewell"); alertMany()

所有这些调用都可以工作,为每个参数显示一个警报框.

猜你在找的JavaScript相关文章