Java Script函数

什么是函数?

       函数是定义一次但却可以调用或执行任意多次的一段js代码。函数有时会有参数,即函数被调用时指定了值得局部变量。函数常常使用这些参数来计算一个返回值,这个值也成为了函数调用表达式的值。通俗的说函数就是将具有一定功能的一段js代码的封装。

函数声明的概念

       函数对于任何语言来说都是一个核心的概念。通过函数可以封装任意多条语句,而且可以在任何地方、任何时候调用执行。ECMAScript中的函数使用function关键字来声明,后面跟一组参数以及函数体。
实例:

function box(){
   
                               //没有参数的函数
	alert('只有函数被调用,语句才会被执行');
}

定义函数

格式一:

<script type="text/javascript">
/*function 函数名([形参列表]){
	函数体;
	[return<表达式>;]
}*/
//例如:
function show(){
   
   
	console.log('这是我的第一个函数!');
}
</script>

格式二:

<script type="text/javascript">
/*var 变量名 = function(形参列表){
	函数体;
	[ return <表达式>; ]
}*/
//例如:
var show2 = function (){
   
   
	console.log('这是我的第二个函数!');
}
</script>

格式三:
立即执行函数(IIFE),用的不多,自动调用自身,不能再其他地方被调用,一般用于JS库或JS插件的封装或闭包处理。

<script type="text/javascript">
/*(function (形参列表){
	函数体;
	[ return<表达式>; ]
}) (实参列表)*/
//例如:
(function (){
   
   
	var rs = 1 + 2;
	console.log(rs);
}
</script>

函数调用

函数不会自动执行(IIFE(立即执行函数表达式)除外),必须通过调用才能执行。
无参数调用:

<script type="text/javascript">
	//无参数
	function show(){
   
   
		console.log('这是我的第一个函数!');
	}
	var show2 = function (){
   
   
		console.log('这是我的第二个函数!');
	}
	show1();//如果不传参,这里的括号不能省略。
	show2();
</script>

有参数调用,参数个数匹配,如果实参个数超过形参个数,不会报错,会将实参一次传给形参;如果形参个数超过实参,形参没有与实参匹配的值,那么形参默认的值为undefined。

<script type="text/javascript">
	//有参数
	function sum1(a,b){
   
   
		var rs = a + b;
		console.log(rs);
	}
	var sum2 = function (x,y){
   
   
		var rs = x - y;
		console.log(rs);
	}
	sum1(10,20);
	sum2(20,-30);
</script>

return

函数可以通过return返回结果,如果return没有返回结果,表示结束函数的调用,且返回调用处。

<script type="text/javascript">
	function max(a,b){
   
   
		var result = a > b ? a : b ;
		return result;
	}
	console.info(max(10,20))
</script>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章