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>


[color=red]事实上Function是一个类[/color]
用 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语句非常相似,只不过它被用作表达式,而不是用作语句,而且也无需指定函数名
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值