浅谈javascript函数


    一.关于函数返回值
    一般情况下,js函数执行时可以不返回任何返回值,需要返回值时,可以用return,这里有几点需要注意:
    1.return后的语句不会被执行。如:
function sum(num1, num2) {
    return num1 + num2;
    // 永远不会执行
    alert("Hello world");
}

    2.return后可以不带任何返回值,此时表示函数返回的是undefined,通常是为了组织return后的语句执行。
function sayHi(name, message) {
    return; 
    //永远不会调用
    alert("Hello " + name + "," + message);
}

    二.命名问题
    严格模式对函数有一些限制:
不能把函数命名为eval或arguments;
不能把参数命名为eval或arguments;
不能出现两个命名参数同名的情况。
如果发生以上情况,就会导致语法错误,代码无法执行。
    三.理解参数
    函数的参数在内存中被保存为一个数组,可以用arguements对象来访问他们。
    arguements的值永远是和命名参数保持一致的,例如:
function doAdd(num1, num2) {
    arguments[1] = 10;
    alert(arguments[0] + num2);
}

但是严格格式下上面的命名是无效的。
另外,关于参数还要记住最后一点:没有传递值的命名参数将自动被赋予undefined值。这就跟定义了变量但又没有初始化一样。例如,如果只给doAdd()函数传递了一个参数,则num2中就会保存undefined值。
四.没有重载
js函数没有具体的函数签名,所以没有重载。
原文地址:https://www.cnblogs.com/dufemeng/p/4357014.html