函数
封装了一段可以被重复调用的代码块
声明和调用函数
function 函数名(){
//函数体
}
函数名();//调用函数
** 函数形参跟实参不匹配 **
如果实参比形参多,会取到形参的个数
如果实参比形参少,输出则会变成NaN
函数的return
结果返回给函数的调用者,只要函数遇到return就把结果返回给调用者。
function getResult(){
return 666;
}
getResult();//getResult()=666
console.log(getResult());
return只能返回一个数值所以如果想要返回多个数值可以运用到数组。
eg.求任意两个数的加减乘除结果
function getResult(num1,num2){
return [num1+num2,num1-num2,num1*num2,num1/num2];
}
var re=getResult(1,2);
console.log(re);
arguments的使用
当不确定有多少参数传递时,可用arguments来获取,里面存储了所有传递的实参。
arguments实际是个伪数组:
- 具有数组的length属性
- 按照索引的方式存储的
- 没有真正数组的一些方法pop() push()等
- 只有函数才有arguments这个对象
function fn(){
console.log(arguments);
}
fn(1,2,3);
//此时结果得出3
- 求任意个数的最大值
function getMax(){
var max=arguents[0];
for(var i=1;i<arguments.length;i++){
if(arguments[i]>max){
max=arguments[i];
}
}
return max;
}
函数可以调用另一个函数
function fn1(){
console.log(11);
fn2();
}
fn1();
function fn2(){
consloe.log(22);
}
** 用户输入年份,输出当前年份2月份的天数**
function backDay(){
var year=prompt('请你输入年份:');
if(isRunYear()){//调用了函数2
alert('当前年份是闰年2月份有29天');
}else{
alert('当前年份是平年2月份有28天');
}
backDay();
function isRunyear(year){
var flag = false;
if(year%4==0&&year%100!=0 || year % 400==0){
flag=ture;
}
return flag;
函数两种声明方式
var 变量名 = function() {};