函数

函数

函数对任何语言来说都是一个核心的概念。通过函数可以封装任意多条语句,而且可以在任何地方任何时候调用执行。ECMAScript中的函数使用function关键字来声明,后跟一组参数以及函数体。函数的基本语法如下:

function functionName(arg0, arg1,...,argN){
	statements
}
//下面是一个函数示例:
function sayHi(name, message) {
	alert("Hello " + name "," + message);
}

这个函数可以通过其函数名来调用,后面还要加上一对圆括号和参数。调用sayHi()函数的代码如下所示:

sayHi("Nicholas","how are you today?");

这个函数输出的结果是:“Hello Nicholas,how are you today?”。函数中定义中的命名参数name和message被用作了字符串拼接的两个操作数,而结果最终通过警告框显示了出来。
ECMAScript中的函数在定义时不必指定是否返回值。实际上,任何函数在任何时候都可以通过return语句后跟要返回的值来实现返回值。如下面的例子:

function sum(num1,num2) {
	return num1 + num2;
}

这个sum()函数的作用是把两个值加起来返回一个结果。我们注意到,除了return语句之外,没有任何声明表示该函数会返回一个值。调用这个函数的示例代码如下:

var result = sum(5,10);

这个函数会在执行完return语句之后停止并立即退出。因此,位于return语句之后的任何代码都永远不会执行。例如:

function sum(num1,num2) {
	return num1 + num2;
	alert("Hello world");     //永远不会执行
}

在这个例子中,由于调用alert()函数的语句位于return语句之后,因此永远不会显示警告框。当然,一个函数中也可以包含多个return语句,如下面这个例子中所示:

function diff(num1, num2) {
	if(num1 < num2) {
		return num2-num1;
	} else {
		return num1 - num2;
	}
}

这个例子中定义的diff()函数用于计算两个数值的差。如果第一个数比第二个小,则用第二个数减第一个数;否则,用第一个数减第二个数。代码中的两个分支都具有自己的return语句,分别用于执行正确的计算。

另外,return语句也可以不带有任何返回值。在这种情况下,函数在停止执行后将返回undefined值。这种用法一般用在需要提前停止函数执行而又不需要返回值的情况下。比如在下面这个例子中,就不会显示警告框:

function sayHi(name,message) {
	return;
	alert("Hello " + name + "," + message);   //永远不会调用
}

严格模式对函数有一些限制:

  • 不能把函数命名为eval或arguments;
  • 不能把参数命名为eval或arguments;
  • 不能出现两个命名参数同名的情况。

如果发生以上情况,就会导致语法错误,代码无法执行。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值