浅谈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函数没有具体的函数签名,所以没有重载。