函数参数:在函数定义的时候,函数名字后面的小括号里的变量就是参数。在函数调用的时候,按照提示的方式,给变量赋值就叫传值,把这个值传到变量(参数)中。
函数名字要遵循驼峰命名法
函数一旦重名,后面的会把前面的函数覆盖
形参:函数在定义的时候小括号例的变量叫形参
实参:函数在调用的时候小括号里传入的值叫实参,实参可以是变量也可以是值。
函数没有明确的返回值,但是在调用的时候接收了,那么结果就是undefined
(没有明确的返回值:函数中没有return,函数中有return,但return后面没有任何内容)
变量声明了,没有赋值,结果也是undefined
形参个数和实参个数可以不一致。
return下面的代码不执行
set:设置
get:获取
函数的返回值:在函数内部有return关键字,并且在关键字后面有内容,这个内容被返回了,当函数调用之后,需要这个返回值,那么就定义变量接收即可。
函数定义:有参数有返回值的函数
//函数定义
function consoleSum(x,y){
var sum=x+y;//计算和
console.log(sum);//输出和
}
//函数调用
var num1=parseInt(prompt("输入第一个数字"));
var num2=parseInt(prompt("输入第二个数字"));
consoleSum(num1,num2);
例:
function getSum(x,y){
var sum=x+y;
return sum;//把和返回
}
//函数调用
var result=getSum(10,20);
console.log(result+10);
如果一个函数中有return,那么这个函数就有返回值。如果没有return,就没有返回值。
例1:求两个数字的和:获取任意的两个数字的和
function getSum(x,y){
return x+y;
}
console.log(getSum(10,20));
例2:求m-n之间所有数字的和
function geteverySum(n, m){
var sum=0;
for(var i=n; i<=m; i++){
sum+=i;
}
return sum;
}
console.log(geteverySum(1, 100));
例3:判断一个数是否是素数(质数),只能被1和自身整除,质数是从2开始,因此用这个数字和这个数字前面所有的数字整除一次(没有1的,没有自身的)
function isPrimeNumber(num){
for(var i=2; i<num; i++){
if(num%1==0){
//说明有一个数字整除了,就没必要向后继续整除了,此时就已经验证出不是质数
return false;
}
}
return true;
}
var result=isPrimeNumber(7);
if(result){
console.log("这个数字是质数");
}else{
console.log("这个数字不是质数");
}
例4:求一组数字中的最大值
function getArrayMas(array){
//定义变量假设这个变量中存储的是最大值
var max=array[0];
for(var i=0;i<array.length; i++){
if(max<array[i]){
max=array[i];
}
}
return max;
}
例5:求一组数组中的最小值
function getArrayMin(array){
//假设这个变量里存储的是最小值
var min=array[0];
for(var i=0;i<array.length; i++){
if(min>array[i]){
min=array[i];
}
}
return min;
}
//测试
console.log(getArrayMin([10,20,30,40,1]));
例6:求一个数组中的最大值和最小值还有和
function getArrayMaxAndMinAndSum(array){
var min=array[0];//最小值
var max=array[0];//最大值
var sum=0;//和
for (var i=0; i<array.length;i++){
sum+=array[i];//和
//最大值
if (max<array[i]){
max=array[i];
}//end for
//最小值
if(min>array[i]){
min=array[i];
}//end for
var arr=[arr, min, sum];
return arr;
}
}
//测试
var resultArray=getArrayMaxAndMinAndSum([1,2,3,4,5,6]);
console.log("最大值:"+resultArray[0]);
console.log("最小值:"+resultArray[1]);
console.log("和"+resultArray[2]);
例7:通过函数实现数组反转
function reverseArray(arr){
for(var i=0;i<arr.length/2;i++){
var temp=arr[i];
arr[i]=arr[arr.length-1-i];
arr[arr.length-1-i]=temp;
}
return arr;
}
console.log(reverseArray([1,2,3,4,5]));
例8:求一个数字的阶乘
function getJieCheng(sum){
var result=1;
for(var i=1;i<=num;i++){
result*=i;
}
return result;
}
console.log(getJieCheng(5));