首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

javascript函数-第二章(宣言,定义)

2012-10-13 
javascript函数--第二章(声明,定义)javascript的函数有三种定义方式:1.正常方法:html headtitle正常

javascript函数--第二章(声明,定义)
javascript的函数有三种定义方式:

1.正常方法:

<html> <head><title>正常方法</title><script type="text/javascript"> function print(msg) {    document.write(msg,"<br/>"); }</script> </head> <body> <script type="text/javascript">    print("正常方法");</script> </body> </html> 


2.用Function类来new出一个函数(匿名函数):
<html> <head><title>用new Function(参数)来构造出一个函数</title><script type="text/javascript">    var add = new Function('a', 'b', 'return a + b');   //注意javascript大写小写敏感,其中Function中的F是大写,不是小写 </script> </head> <body> <script type="text/javascript">     var value = add(1, 2);    alert(value);    //document.write(value,"<br/>"); </script> </body> </html> 


事实上Function是一个类
用 Function 类直接创建函数的语法如下:
var function_name = new Function(arg1, arg2, ...,argN,function_body)//在上面的形式中,每个 arg 都是一个参数//最后一个参数是函数主体(要执行的代码)。这些参数必须是字符串。

你可能非常想知道Function()构造出函数的用途是什么。
为什么不能只用function语句来定义所有的函数呢?
原因是:
(1)Function()构造函数允许我们动态地建立和编译一个函数,它不会将我们限制在function语句预编译的函数体中。这样做带来的负面影响效应就是每次调用一个函数时,Function()构造函数都要对它进行编译。因此,在循环体中或者在经常使用的函数中,我们不应该频繁地调用这个构造函数。
(2)使用Function()构造出来的函数的另一个原因是它能够将函数定义为JavaScript表达式的一部分,而不是将其定义一个语句,这种情况下使用它就显得比较的方面,甚至可以说精致。

3.函数直接量:
<html> <head><title>函数直接量 </title><script type="text/javascript">    var add = function(x,y){      return x + y;   }</script> </head> <body> <script type="text/javascript">   var addvalue = add(1, 2);  alert(addvalue); </script> </body> </html> 

 函数直接量是一个表达式,它可以定义匿名函数。函数直接量的语法和function语句非常相似,只不过它被用作表达式,而不是用作语句,而且也无需指定函数名



热点排行