ECMAScript函数不能像传统意义上那样实现重载。而在其他语言(如Java)中,可以为一个函数编写两个定义,只要这两个定义的签名(接受的参数的类型和数量)不同即可。如前所述,ECMAScirpt函数没有签名,因为其参数是由包含零或多个值的数组来表示的。而没有函数签名,真正的重载是不可能做到的。
如果在ECMAScript中定义了两个名字相同的函数,则该名字只属于后定义的函数。请看下面的例子:
function addSomeNumber (num){
return num+100;
}
function addSomeNumber (num) {
return nu_m+200;
}
var result=addSomeNumber (100); //300
alert(result);
在此,南昌网站制作公司提示,函数addSomeNurnber()被定义了两次。第一个版本给参数加100,而第二个版本给参数加200。由于后定义的函数覆盖了先定义的函数,因此当在最后一行代码中调用这个函数时,返回的结果就是300。 如前所述,通过检查传人函数中参数的类型和数量并作出不同的反应,可以模仿方法的重载。 南昌网站建设公司百恒网络前端开发工程师小结:
JavaScript的核心语言特性在ECMA-262中是以名为ECMAScript的伪语言的形式来定义的。ECMAScript中包含了所有基本的语法、操作符、数据类型以及完成基本的计算任务所必需的对象,但没有对取得输入和产生输出的机制作出规定。理解ECMAScript及其纷繁复杂的各种细节,是理解其在Web浏览器中的实现-JavaScript的关键。目前大多数实现所遵循的都是ECMA-262第3版中定义的ECMAScript。以下简要总结了ECMAscript中基本的要素:
◎ECMAScript中的基本数据类型包括Undefined. Null. Boolean、Number和String;
◎与其他语言不同,ECMScript没有为整数和浮点数值分别定义不同的数据类型,Number类型可用于表示所有数值;
◎ECMAScript中也有一种复杂的数据类型,即Object类型,该类型是这门语言中所有对象的基础类型;
◎ECMAScript提供了很多与c及其他类c语言中相同的基本操作符,包括算术操作符、布尔操作符、关系操作符、相等操作符及赋值操作符等;
◎ECMAScript从其他语言中借鉴了很多流控制语句,例如if语句、for语句和switch语句等。ECMAScript中的函数与其他语言中的函数有诸多不同之处。
◎无须指定函数的返回值,因为任何ECMAScript函数都可以在任何时候返回任何值。
◎实际上,未指定返回值的函数返回的是一个特殊的undefined值。ECMAScript中也没有函数签名的概念,因为其函数参数是以一个包含零或多个值的数组的形式传递的。
◎可以向ECMAScript函数传递任意数量的参数,并且可以通过arguments对象来访问这些参数。
◎由于不存在函数签名的特性,ECMAScript函数不能重载。
希望本文对广大站长或从事企业网站建设公司的团队有所帮助,如对此不太理解的,可以与南昌做网站公司百恒网络技术部联系。我们很高兴与广大站长和从事企业网站建设公司技术人员分享我们的技术和经验。