javascript的小白教程-之函数的简单介绍与应用方法

2022-08-07

函数

	函数的好处
	//1,减少代码量
	//2,提高程序开发效率。
	//3, 减少命名空间的污染
	//4,功能实现多元化。

函数的声明

第一种方式:声明式(常用)

			// 示例
			function fn(){
				console.log("hello function");
			}
			fn()			//调用函数

第二种方式:赋值式

var fn = function(){函数体}			//没有名字的函数叫匿名函数。

第三种方式:构造函数方式,只要使用new关键字来创建对象的函数就叫构造函数
Function()第一个字母是大写的,是构造函数
这种方式不建议使用。

//示例
var fn = new Function("console.log('1111')");

函数使用的时候需要调用

函数的参数

	//形参:声明时的参数叫形参
	//实参:调用时传递的参数叫实参

​ 示例:

		//一个能自定义行数和列数以及内容的表格
		// a ,b, val都是形参,用来接收调用时的参数
		
		function createTable(a,b,val){
			document.write("<table border=''>");
			for (var i = 0; i < a; i++) {
				document.write("<tr>");
				for(var j = 0; j < b; j ++){
					document.write("<td>" + val + "</td>");
				}
				document.write("</tr>");
			}
			document.write("</table>");
		}
		
		createTable(5,10,"我的表");		//5行10列,5,10,"我的表",这是实参,调用时用来传递给函数
		
		createTable(2,3,"表格来了");		//2行3列
		
		createTable(20,30,"又一个");		//20行30列

函数参数的特点

	形参	
		1,形参是一个声明并未赋值的变量,只有在有实参对应传递的时候才赋值。
		2,形参没有对应实参传递的情况下,这个形参是一个undefined;
		3,形参可以是一个或多个,多个形参之间用逗号隔开。
		4,形参可以接收任意数据类型的实参。
		5,形参一般来说要与实参一一对应,否则就会出来形参是undefined的情况
	实参:
		1,实参可传可不传,不传不会报错,但是无法实现函数的一些特定功能
		2,实参可以传多个
		3,实参可以是任意数据类型
		4,实参也应该与形参一一对应。

函数的返回值

​ return关键字
​ return的功能 是,将函数内部执行功能后的一个结果返回出来,给外部的程序使用。

		return的特点
		
		1,必需在函数内部使用。
		2,结束函数后面的程序。
		3,return后可以不跟任意值,返回undefined;
		4,函数没有设置return,默认回返undefined;
		
		什么时候需要使用返回值
		当一个函数的功能实现需要产生一个结果给函数外部程序使用时,就要使用return。

示例:定义一个函数,功能求任意一个数的平方

	function getPow(num){
			return num * num;		//返回num*num给了函数让后面的程序得以使用这个值
		}
		var pow = getPow(4);
		console.log("返回值是"+pow);```		

函数的递归

​ 递归调用就是自己内部调用函数本身执行。
​ 递归的特点:
​ 循环。
​ 形成一个完整的递归,有条件退出程序。如果没有退出程序的条件,递归会形成死递归(死循环)

示例,实现一个数到100的累加

		function sum(i){
			if(i === 100){			//有条件的终止循环递归(防止死递归)
				return 100;
			}
			return i + sum(++i);	//循环调用自身
		}
		var result = sum(1);		//调用函数,输入1,计算1~100的循环
		console.log(result);
		}
		return i + sum(++i);	//循环调用自身
	}
	var result = sum(1);		//调用函数,输入1,计算1~100的循环
	console.log(result);

本文地址:https://blog.csdn.net/qq_41318044/article/details/107285313