上海分院:刘泽华
1.背景介绍
2.知识剖析
3.常见问题
4.解决方案
5.编码实战
6.扩展思考
7.参考文献
8.更多讨论
函数对于任何语言来说都是一个核心的概念。通过函数可以封装任意多条语句,而且可以在任何地方,任何时候调用执行。
函数是一个当它被调用时可重复执行的代码块。
函数声明
function functionName(parameters) {
执行的代码
}
JavaScript 函数定义 JavaScript 使用关键字 function 定义函数。 函数可以通过声明定义,也可以是一个表达式。
函数声明后不会立即执行,会在我们需要的时候调用到。
由于函数声明不是一个可执行语句,所以不以分号结束。
JavaScript 函数可以通过一个表达式定义。 函数表达式可以存储在变量中
函数表达式实际上是一个 匿名函数 (函数没有名称)。
在函数表达式存储在变量后,变量也可作为一个函数使用。
函数可以通过其函数名来调用或者通过事件驱动。
函数表达式可以 "自调用"。如果表达式后面紧跟 () ,则会自动调用。
在函数的调用中可以传递参数。如果参数有多个可以用逗号隔开。
如果一个变量在函数体内部申明,则该变量的作用域为整个函数体,在函数体外不可引用该变量
如果两个不同的函数各自申明了同一个变量,那么该变量只在各自的函数体内起作用。换句话说,不同函数内部的同名变量互相独立,互不影响
由于JavaScript的函数可以嵌套,此时,内部函数可以访问外部函数定义的变量,反过来则不行
JavaScript的函数在查找变量时从自身函数定义开始,从“内”向“外”查找。如果内部函数定义了与外部函数重名的变量,则内部函数的变量将“屏蔽”外部函数的变量。
构造函数
函数同样可以通过内置的 JavaScript 函数构造器(Function())定义。
JS高级程序设计
菜鸟教程
JavaScript还有一个免费赠送的关键字arguments,它只在函数内部起作用,并且永远指向当前函数的调用者传入的所有参数。arguments类似Array但它不是一个Array。
利用arguments,你可以获得调用者传入的所有参数。也就是说,即使函数不定义任何参数,还是可以拿到参数的值
BY——刘泽华