js函数的定义

js函数可以通过以下三种方法定义

1、使用关键字Function定义函数。

2、可以通过声明定义。

3、也可以是一个表达式。

1、关键字Function定义(构造函数)

var myFunction = new Function('a', 'b', 'return a * b');
var x = myFunction(4, 3);

实际不必使用构造函数(在javascript中很多时候需要避免使用new关键字,以及这种方式会导致解析两次代码,影响性能。第一次解析常规的JavaScript代码,第二次解析传入构造函数的字符串。) 上例可以写成如下:

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

2、声明定义,相较于表达式的方式解析器会率先读取函数声明,并使其在执行任何代码之前可用(可以访问),这是由于javascript函数声明提升;

function functionName(){
    //执行代码
}

3、表达式方式定义,函数的名称是可选的(匿名函数),表达式定义必须等到解析器执行到它所在的代码行,才会真正被解释执行

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

自调用函数(实际上是一个匿名自我调用的函数)
函数表达式可以“自调用”。自调用表达式会自动调用,不能自调用声明的函数。

(function(){
    //代码
})();;

js函数是对象:

1、typeof function();//返回function。

2、函数有属性和方法。

3、arguments.length属性返回函数调用过程接收到的参数个数。

function myFunction(a, b){
    return arguments.length;
}

4、toString()方法将函数作为一个字符串返回。

function myFunction(a, b) {
    return a * b;
}
var txt = myFunction.toString();//function myFunction(a, b){return a * b}
原文地址:https://www.cnblogs.com/cornlin/p/7518293.html