# JavaScript 函数

  • # JavaScript 函数已关闭评论
  • 168 次浏览
  • A+
所属分类:Web前端
摘要

函数:就是封装了一段可以被重复执行调用的代码块,目的就是让大量的代码重复使用

JavaScript 函数

函数概念

函数:就是封装了一段可以被重复执行调用的代码块,目的就是让大量的代码重复使用

函数的使用

函数的使用

分两步:声明函数和调用函数

//1.声明函数 //function 函数名() { 	//函数体 //} function sayHi(){ 	console.log('hi~~'); } //function 声明函数的关键字 全部小写 //函数是做某件事情,函数名一般是动词 sayHi  //2.调用函数 sayHi(); //调用函数的时候千万不要忘记加小括号 //函数不调用,自己不执行 

函数的封装

函数的封装是把一个或者多个功能通过函数的方式封装起来,对外只提供一个简单的函数接口

函数的参数

形参和实参

# JavaScript 函数

//function 函数名(形参1,形参2){// 在声明函数的小括号里面是 形参 (形式上的参数) 	 //} //函数名(实参1,实参2);// 在函数调用的小括号里面是实参(实际的函数)  function cook(aru){// 形参是接受实参的 aru = '西红柿炒鸡蛋' 形参类似于一个变量 	console.log(aru); } cook('西红柿炒鸡蛋'); cook('小鸡炖蘑菇'); //函数的参数可以有,也可以没有,个数不限 

形参和实参个数不匹配问题

# JavaScript 函数 ## 函数的返回值

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.函数表达式也可以进行传递参数