Loading

JavaScript中的函数

定义

比如定义一个两数相加的函数:

function add(a,b){
    var sum = a+b;
    return sum;
}

需要注意以下三点:
1.定义形参不能使用var声明变量
2.可返回值,也可不返回
3.没有函数重载,后定义的重名函数会覆盖前定义的同名函数

参数

为什么JavaScript中没有函数重载呢?
1.数据都是var类型,不能通过形参类型来区分调用的是哪一个函数。
2.因为JavaScript中的任何函数内部都隐式的维护了一个arguments数组对象,给函数传递数据的时候,会先传递到arguments中,然后再有arguments分配给形参,因此不能根据参数的个数来区分调用的是哪一个函数。
示例

function add(){
    document.write("长度:"+arguments.length+"<br/>")
    for(var index in arguments)
        document.write(arguments[index] + "<br/>");
}
add(1,2,3);

测试结果:
这里写图片描述

posted @ 2017-07-11 23:31  leon_x  阅读(26)  评论(0)    收藏  举报