首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

JavaScript 函数参数(与Python,Shell做对照)

2012-10-11 
JavaScript函数参数(与Python,Shell做对比)??? 最近学了一段时间的Shell之后,发现Javascript的函数参数跟s

JavaScript 函数参数(与Python,Shell做对比)

??? 最近学了一段时间的Shell之后,发现Javascript的函数参数跟shell惊人的类似。

???

function show(){      }

?

?

??? 这里的函数不同于强类型语言的函数,在那些语言中,函数参数的个数和类型都是确定的。而在JS中函数的参数没那么重要,在JS函数内部里面用一个称之为arguments的对象来保存参数,这个对象很类似于数组(是因为它也同样可以采用arguments[0],arguments[1]..)这样的形式来获取参数。

??? 例如在调用上述函数的时候,以下几种方式都是允许的。

??

show()show("love","money")

?

?? 所以可以利用这点来模拟实现Python中指定默认参数值。见以下代码:

??

function add(){     if(arguments.length==1){          return arguments[0]+10;     }else{         return arguments[0]+arguments[1];     }}

?

这段代码用来计算两个参数值的和。

?

add(5);//输出15add(5,10); //也输出15

?而在Python中实现这个功能要简单的多。

???

def add(num1,num2=10):        return num1+num2;

?

? JS里函数也同样没有重载,因为它没有函数签名这样的概念,这一点跟Python很类似。只是在JS中当存在同名函数的时候,后面一个函数对象会悄悄的覆盖掉之前定义的所有函数。而Python会在函数调用的时候提示错误,例如:

???

function add(num1){    return num1+1;}function add(num1,num2){    return num1+2;}alert(add(3))//输出5

?

??? 在Python中则是另外一种情况

???

?

JavaScript  函数参数(与Python,Shell做对照)

热点排行