https://segmentfault.com/a/1190000000660786

js 支持两种函数

  • 语言内部的函数 如 eval()
  • 自己创建的函数

函数调用

  • 作为函数
  • 作为方法
  • 作为构造函数
  • 通过call() 和 apply()

函数值

  1. 当函数无明确返回值时,返回的值就是 undefined
  2. 当函数有返回值时,返回值是什么就返回什么。

匿名函数

function(){
return ‘hi’;     //单独的匿名函数是无法运行的,就算能运行也无法调用,因为没有名字
}

这种匿名函数的用法在JQuery中非常多。 直接声明一个匿名函数,立即使用。 用匿名函数的好处就是省得定义一个用一次就不用的函数,而且免了命名冲突的问题,js中没有命名空间的概念,因此很容易函数名字冲突,一旦命名冲突以最后声明的为准。

动态函数

<script type="text/javascript">
var square = new Function ("x","y","var sum ; sum = x+y;return sum;");
alert("square(2,3)的结果是:"+square(2,3));  //square(2,3)的结果是:5
</script>

js 函数 经常会有多个参数的情况.

exp(var1, var2)

显式参数

隐式参数

function myFunction(x, y) {
if (y === undefined) {
  y = 0;
} 
} 两者等价
function myFunction(x, y) {
y = y || 0;
}

如果函数在调用时未提供隐式参数,参数会默认设置为: undefined