JavaScript 使用关键字 function 定义函数。函数可以通过声明定义,也可以是一个表达式。
函数可作为一个值使用,也可以作为一个表达式使用。
1、通过函数声明定义:
function myFunction(a, b) {
return a * b;
}
函数声明后不会立即执行,会在我们需要的时候调用到。
2、通过表达式定义
var x = function (a, b) {return a * b};
将函数表达式存储在一个变量中
函数存储在变量中,不需要函数名称,通常通过变量名就可以调用。
var x = function (a, b) {return a * b};
var z = x(4, 3);
3.函数还可以通过内置的 JavaScript 函数构造器(Function())定义。
var myFunction = new Function(“a”, “b”, “return a * b”);
var x = myFunction(4, 3);
JavaScript 可以默认提升变量,将当前作用域提升到前面去。例如
函数可以在声明之前调用:
myFunction(5);
function myFunction(y) {
return y * y;
}
但是使用表达式定义函数时无法提升
关于函数的自调用:
函数表达式可以 “自调用”。自调用表达式会自动调用。如果表达式后面紧跟 () ,则自动调用。
不能自调用声明的函数。
你可以通过添加括号,来说明它是一个函数表达式:
(function () {
var x = “Hello!!”; // 我将调用自己
})();