JavaScript目前支持3种的定义函数方法,那么下面笔者将一一讲解这三种方法的定义。
1.定义命名函数
定义命名函数的语法格式如下:
function functionName(parameter-list)
{
statements
}
下面我们来看代码:
<script type="text/javascript">
hello('yeeku');
// 定义函数hello,该函数需要一个参数
function hello(name)
{
alert(name + ",你好");
}
</script>
运行结果:
上面的函数可以有返回值,也可以没有返回值。函数的返回值使用return语句返回,在函数的运行过程中,一旦遇到一条return语句,函数就返回返回值,函数运行结束。看下面的代码。
<script type="text/javascript">
// 定义函数hello
function hello(name)
{
// 如果参数类型为字符串,则返回静态字符串
if (typeof name == 'string')
{
return name + ",你好";
}
// 当参数类型不是字符串时,执行此处的返回语句
return '名字只能为字符串'
}
alert(hello('yeeku'));
</script>
运行的结果是跟上面的一样的。
2. 定义匿名函数
JavaScript提供了定义匿名函数的方式,这种创建匿名函数的语法格式如下:
function(parameter list)
{
statements
}
这种函数定义语法无须指定函数名,而是将参数列表紧跟function关键字。在函数定义语法的最后不要忘记紧跟分号(;)。下面我们来看一段代码。
<script type="text/javascript">
var f = function(name)
{
document.writeln('匿名函数<br />');
document.writeln('你好' + name);
};
f('yeeku');
</script>
运行的结果是:
3. 使用Function类匿名函数
JavaScript提供了一个Function类,该类也可以用于定义函数,Function类的构造器的参数个数可以不受限制,Function可以接受一系列的字符串参数,其中最后一个字符串参数是函数的执行体,执行体的各语句可以以分号(;)隔开,而前面的各字符串参数则是函数的参数。看下面定义的函数的方式。
<script type="text/javascript">
// 定义匿名函数,并将函数赋给变量f
var f = new Function('name' ,
"document.writeln('Function定义的函数<br />');"
+ "document.writeln('你好' + name);");
// 通过变量调用匿名函数
f('yeeku');
</script>
运行结果: