1、掌握函数的作用
-通过函数可以封装任意多条语句,而且可以在任何地方、任何时候调用执行。
2、掌握函数的定义
-函数数使用function声明,后跟一组参数以及函数体,语法如下:
function functionName([arg0,arg1....argn]){
statements
}
说明:
①functionName要定义的函数名,属于标识符
②[]中的arg0,arg1....argn为函数的参数
③[]说明里面的内容不是必须的,它不是语法
3、掌握函数的调用
语法:
-函数名([arg0,arg1....argn])
//声明一个函数 myFun函数名
function myFun(){
alert("我是一个函数")
}
//函数的调用
myFun();
//声明一个带有参数的函数
function add(num1,num2){
var sum=num1+num2
alert(num1+'和'+num2+'的和是'+sum);
}
add(3,5);
add(99,789);
add(-1,-9);
函数的返回值
任何函数通过return语句,后面跟着返回的值来实现返回值。
说明:
①函数会在执行完return语句之后停止并立即退出。
②return语句也可以不带有任何返回值,
用于提前停止函数执行又不需要返回值的情况。
function add(num1,num2){
var sum=num1+num2
return sum;
}
console.log(add(3,5));
alert(add(99,789));
var s=add(-1,-9);
console.log(s);
document.write('-1+-9='+s);
function myFunction(arg) {
//如果arg非数字不作任何操作;
//否则,返回arg的2倍
if (isNaN(arg))return;
return arg*2;
}
console.log(myFunction(123));// 246 "abc"|undefined
掌握arguments
ECMAScript中的参数在内部用一个数组来表示,
在函数体内通过arguments对象来访问这个数组参数。
说明:
①arguments对象只是与数组类似,并不是Array的实例。
②[]语法访问它的每一个元素。
③length属性确定传递参数的个数。
function inner(num1,num2) {
//arguments
console.log(arguments.length);//2
console.log(arguments[0]);//索引是从0开始的正整数//10 //1-5
}
inner(10,5);
function add(num1,num2) {
arguments[0]=99;
console.log(num1);//99
}
add(55,88);
下面一段代码,和一张图片,为何我的代码不能求和??????
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>document</title>
</head>
<body>
<script>
//求任意一组数的平均值
function getAvg() {
//对所有参数进行求和
var sum=0,len=arguments.length;
for (var i=0;i<=len;i++){
//sum=sum+arguments[i];
sum+=arguments[i];
//sum=0+5
//sum=0+5+66
//sum=0+5+66+45
}
console.log(sum);
}
getAvg(5,66,45,32,88,24,)
</script>
</body>
</html>
NaN??????
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>document</title>
</head>
<body>
<script>
//求任意一组数的平均值
function getAvg() {
//对所有参数进行求和
var sum=0,len=arguments.length;
for (var i=0;i<=len;i++){
//sum=sum+arguments[i];
sum+=arguments[i];
//sum=0+5
//sum=0+5+66
//sum=0+5+66+45
}
return sum/len;
}
var avg=getAvg(5,66,45,32,88,24,40)
console.log(avg);
</script>
</body>
</html>
OK
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>document</title>
</head>
<body>
<script>
//求任意一组数的平均值
function getAvg(){ //小括号内可以不写
//对所有参数进行求和
var sum=0;len=arguments.length;
for(var i=0;i<len;i++){ //1=0,所以i小于len即可
//sum=sum+arguments[i];
sum+=arguments[i];
//sum=0+5
//sum=0+5+66
//sum=0+5+66+45
}
return sum/len;
}
var avg=getAvg(5,66,45,32,88,24,40);
console.log(avg);
</script>
</body>
</html>