JavaScript 函数定义

125 阅读1分钟

JavaScript 使用关键字 function 定义函数。函数可以通过声明定义,也可以是一个表达式。

函数表达式

JavaScript 函数可以通过一个表达式定义。

函数表达式可以存储在变量中:

var x = function (a, b) {return a * b};

在函数表达式存储在变量后,变量也可作为一个函数使用:

var x = function (a, b) {return a * b};
var z = x(4, 3);
console.log(z);

结果是:

12

以上函数实际上是一个 匿名函数 (函数没有名称)。

函数存储在变量中,不需要函数名称,通常通过变量名来调用。

Function() 构造函数

在以上实例中,我们了解到函数通过关键字 function 定义。

函数同样可以通过内置的 JavaScript 函数构造器(Function())定义。

//构造函数
function play(){
 //获取
 var p=new Object();
 //属性
 p.width=300;
 p.num=4;
 //方法
 p.autoplay=function(){
     alert("play");
     alert(this.num);
 }
var obj=play();
alert(obj.width);
obj.autoplay();

结果是300、play、4

自调用函数

函数表达式可以 "自调用"。

自调用表达式会自动调用。

如果表达式后面紧跟 () ,则会自动调用。

不能自调用声明的函数。

通过添加括号,来说明它是一个函数表达式:

(function () {
    var x = "Hello!!";      // 我将调用自己
})();

以上函数实际上是一个 匿名自我调用的函数 (没有函数名)。