本文已参与「新人创作礼」活动,一起开启掘金创作之路
函数
函数:就是封装了一段可被重复调用执行的代码块。通过此代码块可以实现大量代码的重复使用。
// 声明函数
function 函数名(){
return 需要返回的值;
}
//举例
function sayHello(){
console.log(“hello”);
}
-
function 是声明函数的关键字,必须小写
-
由于函数一般是为了实现某个功能才定义的, 所以通常我们将函数名命名为动词,比如 getSum;
-
函数需要调用后才执行,不调用里面代码块不执行。
函数的调用
// 声明函数 计算1-100之间的和
function getSum(){
var sumNum = 0;// 准备一个变量,保存数字和
for (var i = 1; i <= 100; i++) {
sumNum += i;// 把每个数值 都累加 到变量中
}
alert(sumNum);
}
getSum(); //函数调用。
函数的参数
-
形参:函数定义时设置接收调用时传入
-
实参:函数调用时传入小括号内的真实数据
参数的作用 : 在函数内部某些值不能固定,我们可以通过参数在调用函数时传递不同的值进去。
function say(mylanguage){
console.log(“请说” + mylanguage);
}
say(“中文”);
// 带参数的函数声明
function 函数名(形参1, 形参2 , 形参3...) { // 可以定义任意多的参数,用逗号分隔
// 函数体
}
// 带参数的函数调用
函数名(实参1, 实参2, 实参3...);
1. 调用的时候实参值是传递给形参的
2. 形参简单理解为:不用声明的变量
3. 实参和形参的多个参数之间用逗号(,)分隔
function getSum(sum1,sum2,sum3){
console.log(sum1);
console.log(sum2);
console.log(sum3);
}
getSum(sum1,sum2,sum3);
总结:
-
声明函数的时候可以不带参数;
-
实参多于形参时,形参只读取形参的个数;
-
实参少于形参时,形参未赋值undefined,为了确保不可避免错误,传参需一致。
函数的返回值
返回值:函数调用整体代表的数据;函数执行完成后可以通过return语句将指定数据返回。
// 声明函数
function 函数名(){
return 需要返回的值;
}
//举例
function getName(){
return “小二班的:张三”;
}
var myname = getName();
console.log(myname);
-
在使用 return 语句时,函数会停止执行,并返回指定的值
-
如果函数没有 return ,返回的值是 undefined
-
return只返回一个值,如return 1,2。//返回2
break ,continue ,return
-
break :结束当前的循环体(如 for、while)
-
continue :跳出本次循环,继续执行下次循环(如 for、while)
-
return :不仅可以退出循环,还能够返回 return 语句中的值,同时还可以结束当前的函数体内的代码
作业
1:创建一个计算两个数的最大值的函数。
<script>
function sum(first,second){
var res
if(first>second){
res=first;
}else if(first<second){
res=second;
}
return res;
} var res=sum(15,16);
console.log(res);
</script>
2:创建一个函数传递一个数组返回数组中的最大值,最小值。
<script>
//4:创建一个函数传递一个数组返回数组中的最大值,最小值
function sum(){
var arr = [10,5,6,9,4,1];
var max = 0;
var score=[];
var min = arr[0];
for(i=0;i<arr.length;i++){
if(arr[i]>max){
max = arr[i];
}
}
for(j=0;j<arr.length;j++){
if(min>arr[j]){
min=arr[j];
}
}
score[score.length]=max;
score[score.length]=min;
return score;
}
var score1=sum();console.log(score1);
</script>
3:封装一个函数:浏览器接收一个月份判断这个月份的天数。
<script>
function newday(){
var month = prompt("请输入月份:");
var day ;
switch(Number(month)){
case 1:day=31;break;
case 2:day=28;break;
case 3:day=31;break;
case 4:day=30;break;
case 5:day=31;break;
case 6:day=30;break;
case 7:day=31;break;
case 8:day=31;break;
case 9:day=30;break;
case 10:day=31;break;
case 11:day=30;break;
case 12:day=31;break;
default:
console.log("输入错误");
}
return day;
}
var day=newday();
console.log(day);
</script>
4:制作一个简易的计算器,浏览器接收+,-*/、接收两个数,后计算结果。
<script>
// 7:制作一个简易的计算器,浏览器接收+,-*/、接收两个数,后计算结果。
function getSum(){
var first =Number(prompt("请输入数字1:")) ;
var symbol = prompt("请输入运算符:");
var second = Number(prompt("请输入第二个数:"));
var res;
if(symbol=="+"){
res=first+second;
}
if(symbol=="-"){
res=first-second;
}
if(symbol=="*"){
res=first*second;
}
if(symbol=="/"){
res=first/second;
}
return res;
}
var res=getSum();
console.log(res);
</script>
\