站长资讯网
最全最丰富的资讯网站

function函数 function函数的载重概念

我们知道,在js中,函数实际上是一个对象,每个函数都是function函数类型的实例,并且都与其他引用类型一样具有属性和方法。因此,函数名实际上是指向函数对象的指针,不与某个函数绑定。在常见的两种定义方式(见下文)之外,还有一种定义的方式能更直观的体现出这个概念。

function函数 function函数的载重概念

function函数——function函数的载重概念

varsum=newFunction(“num1″,”num2″,”returnnum1+num2”);//不推荐

Function的构造函数可以接收任意数量的参数,但最后一个参数始终被看做函数体。这种方式有个缺点是,会导致解析两次代码,第一次是基础的ES代码解析,第二次是解析传入构造函数中的字符串,这样会导致性能的下降,在此写出是帮助理解js中函数其实是对象这个概念。

说到重载的概念,我们来类比Java中的重载是怎么实现的:在Java中,方法是通过方法签名来唯一标识一个方法。方法签名包括:方法名、参数数量、参数顺序和参数类型这几个要素。因此两个方法的方法名相同,而其他签名要素不同,编译器就会认为是两个不同方法,从而可以存在同名的不同方法,以实现重载的概念。(引用:怎么深入理解js中为什么没有重载呢–segmentfault中manxisuo的回答)。

而上面我们说过,js中的函数名实际上是指向函数对象的指针,因此函数名可以说是一个函数的唯一标识,跟参数列表并没有关系,因此并不会出现同名的两个函数(因为一个指针同时只能指向一个对象)从而不存在重载的概念。

Javascriptfunction关键字

在脚本语言javascript中,function是定义一个函数的关键字,通常形态是

function函数名(参数1[参数2])

{

函数体

return返回值

}

其中也可以不返回值。

Function函数是包含在Function和EndFunction语句之间的一组VBScript语句。Function函数与Sub过程类似。但Function函数可以有返回值。可以使用参数。如果Function函数没有任何参数,则Function语句必须要包含空括号。Function函数通过函数名返回一个值。返回值的数据类型是Variant.

在代码开始执行之前,解析器就已经通过一个名为函数声明提升的过程,读取并将函数声明添加到执行环境中。简单来说,解析器会先将函数声明放在源代码树的顶部。如果大家还想了解更多与之有关的信息,欢迎关注我们优词网的官网。

赞(0)
分享到: 更多 (0)
网站地图   沪ICP备18035694号-2    沪公网安备31011702889846号