- A+
所属分类:Web前端
目录
JavaScript 函数
函数概念
函数:就是封装了一段可以被重复执行调用的代码块,目的就是让大量的代码重复使用
函数的使用
函数的使用
分两步:声明函数和调用函数
//1.声明函数 //function 函数名() { //函数体 //} function sayHi(){ console.log('hi~~'); } //function 声明函数的关键字 全部小写 //函数是做某件事情,函数名一般是动词 sayHi //2.调用函数 sayHi(); //调用函数的时候千万不要忘记加小括号 //函数不调用,自己不执行
函数的封装
函数的封装是把一个或者多个功能通过函数的方式封装起来,对外只提供一个简单的函数接口
函数的参数
形参和实参
//function 函数名(形参1,形参2){// 在声明函数的小括号里面是 形参 (形式上的参数) //} //函数名(实参1,实参2);// 在函数调用的小括号里面是实参(实际的函数) function cook(aru){// 形参是接受实参的 aru = '西红柿炒鸡蛋' 形参类似于一个变量 console.log(aru); } cook('西红柿炒鸡蛋'); cook('小鸡炖蘑菇'); //函数的参数可以有,也可以没有,个数不限
形参和实参个数不匹配问题
## 函数的返回值
1.return返回值
//function 函数名(){ // return 需要返回的结果; //} //函数名(); function getMax(num1, num2){ if(num1 > num2){ return num1; }else{ return num2; } } console.log(getMax(9, 2));
2.return终止函数
function getSum(num1, num2) { return num1 + num2;// return 后面的代码不会被执行 alert('我是不会被执行的哦!'); } consolse.log(getSum(1,2));
3.return只能返回一个值
function fn(num1, num2){ return num1, num2;// 返回的结果是最后一个值 } console.log(fn(1,2));
4.想要返回多个值时,可以返回成数组
//求任意两个数加减乘除结果 function getResult(num1, num2){ return[num1 + num2, num1 - num2, num1 * num2, num1 / num2 ]; } var re = getResult(1,2);//返回的是一个数组 console.log(re);
5.函数如果有return则返回return后面的值,没有则返回undefined
function fun1(){ return 666; } console.log(fun1());// 返回666 function fun2 (){ } console.log(fun2());//函数返回结果是undefined
arguments的使用
当不确定有多少个参数传递的时候,可以用arguments来获取。在JavaScript中,arguments实际上它是当前函数的一个内置对象。所有函数都内置了一个arguments对象,arguments对象中存储了传递的所有实参。
arguments的使用:只有函数才有arguments对象,而且每个函数都内置好了这个arguments
arguments展示形式是一个伪数组,因此可以进行遍历。伪数组特点:
- 具有length属性
- 按索引方式存储数据
- 不具有数组的push,pop等方法
function fn(){ console.log(arguments); } fn(1,2,3);
//利用函数求任意个数的值 function getMax(){ var max = arguments[0]; for(var i = 1; i < arguments.length; i++){ if(arguments[i] > max){ max = arguments[i]; } } return max; } console.log(getMax(1,2,3)); console.log(getMax(11,222,34,999)); console.log(getMax(100,79,34,563,12,87)); //3 //999 ///563
函数间的调用
//函数是可以相互调用的 function fn1(){ console.log(11); fn2;// 在fn1 函数里面调用了fn2 函数 } fn1(); function fn2(){ console.log(22); } // 11 22
//用户输入年份,输出当前年份2月份的天数 function backDay(){ var year = prompt('请输入年份:'); if(isRunYear(year)){//调用函数需要加小括号 alert('当前年份是闰年2月份有29天'); }else{ alert('当前年份是平年2月份有28天'); } } backDay(2000); //利用函数判断闰年 function isRunYear(nianfen){ //如果是闰年我们返回true,否则返回 false var flag = false; if(year % 4 == 0 && year % 100 != 0 || year % 400 == 0){ flag = true; } return flag; }
函数的两种声明方式
1.利用函数关键字自定义函数(命名函数)
function fn(){ } fn();
2.函数表达式(匿名函数)
//var 变量名 = function(){}; var fun = funcction(aru){ console.log('我是函数表达式'); console.log(aru;) } fun('你好啊'); //1.fun是变量名,不是函数名 //2.函数表达式声明方式跟声明变量差不多,只不过变量里面存的是值,而函数表达式里面存的是函数 //3.函数表达式也可以进行传递参数