3.7 函数(JavaScript高级程序设计 第3版)

例子:

function sayHi(name,message){
	 alert("hello " + name + " , " + message);
}
	 
sayHi("Aska","I want to listen to your concert.");   //弹出hello aska , I want to listen to your concert.
	 
	 
//from page 63

return用法

在需要返回值的时候用return使用,return后的语句永远不会执行;

function sum(num1,num2){
    return num1 + num2;
    alert("aska Yang");        //不会执行
} 

//调用
var result = sum(5,10);   //15;

return语句不带任何返回值,一般用在需要提前停止函数执行而不需要返回值的情况下。

3.7.1  理解参数

实际上,参数的值可以通过arguments[0]来获取,之前的syaHi函数,也可以这样写:

function sayHi(){
    alert("hello " + arguments[0] + " , " + arguments[1]);
}
 
//调用
sayHi("Aska","I want to listen to your concert.");   //弹出hello aska , I want to listen to your concert.
 
//from page 64

通过arguments对象的length属性可以获得传给函数的参数有多少个;

function howManyArgs(){
    alert(arguments.length);
}

howManyArgs("string",20);    // 2

arguments对象也可以和命名参数一起使用:

function doAdd(num1, num2){
    if(arguments.length == 1){
        alert(num1 + 10);
    }else if(arguments.length == 2){
        alert(arguments[0] + num2);
    }
}

arguments它的值永远和对应的命名参数的值保持同步。

扫描二维码关注公众号,回复: 2501462 查看本文章

3.7.2  没有重载

ECMAScript函数没有签名(接受的参数的类型和数量),因为其参数是由包含零或多个值的数组来表示的。没有函数签名,真正的重载是不可能做到的。

如果定义两个相同命名的函数,后一个函数会覆盖前面的函数。

猜你喜欢

转载自blog.csdn.net/weixin_39752673/article/details/81238042