JavaScript-3.1-JavaScript 函数-函数的声明与调用

函数的声明与调用

  • 函数的主要作用是将程序中需要重复使用的代码进行封装,从而可以使代码重复使用
  • 函数的使用
    • 声明
    • 调用

一:函数的声明

  • 在 JavaScript 中,函数使用 function 关键字进行声明
  • 参数可以理解为函数内部需要使用的变量,这个变量可以在外部调用函数时传入函数中,从而可以在函数中使用

1、有参函数

  • 有参函数是指声明函数时,可以在函数体的圆括号中声明多个变量,提供给函数内部中使用
function 函数名(参数1,参数2,......){
	// 函数体
	return 结果;
}

注意
1.函数必须使用 function 关键字声明,函数名后面的()用于放参数列表,这个参数列表被称为形参列表
2.函数可以有返回值,表示调用函数时可以接收一个返回的结果

2、无参函数

  • 无参函数不需要指定形参列表,函数名后面的()不能省略
function 函数名(){
	// 函数体
	return 结果;
}

二:函数的调用

  • 封装起来的函数不能直接使用执行,而是需要手动调用函数,才能够执行函数中的代码

1、直接调用

  • 声明好一个函数后,可以在 JavaScript 中直接使用“函数名()”调用
  • 有参函数,需要通过()将参数的值传入函数
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>JavaScript 函数</title>
</head>
<body>
	<script type="text/javascript">
		function add(num1,num2){
			var sum = num1 + num2;
			return sum;
		}
		/*
		调用有参函数
		3,5将分别赋给函数的两个形参,num1 和 num2
		*/
		a = add(3,5);
		document.write("有参函数:"+a+"<br>");
		/*
		调用无参函数
		无参函数不需要传递实参列表,但是()一定不能省略
		*/
		b = add();
		document.write("无参函数:"+b);
	</script>
</body>
</html>

效果图
在这里插入图片描述

注意
1.函数后面的()用于放参数列表,这个参数列表被称为形参列表----变量
2.调用函数时传入参数列表的值称为实参列表----变量的值
3.实参列表与形参列表的个数没有任何关联
4.有形参不一定传入实参,而传入实参也不一定必须声明形参

2、事件调用

  • 给按钮添加 onclick 属性,表示当触发 onclick 事件(单击按钮)时调用函数
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>JavaScript 函数</title>
</head>
<body>
	<script type="text/javascript">
		function add(num1,num2){
			var sum = num1 + num2;
			document.write(sum);
			return sum;
		}
	</script>
	// 事件调用
	<button onclick="add(5,5)">点我调用方法</button>
</body>
</html>

效果动态图

在这里插入图片描述

三:函数的作用域

  • 函数声明的变量只有函数内部使用
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>函数的作用域</title>
</head>
<body>
	<script type="text/javascript">
		// 在函数外,无论是否使用 var 声明变量,都是全局变量
		var a = 1;
		b = 1;
		
		function func(){
			// 在函数内,使用 var 声明的变量为局部变量,只有函数内部使用
			var c = 1;
			// 在函数内,不用 var 声明的变量为全局变量
			d = 1;
			console.log(a); // 函数中可以使用全局变量
			console.log(b); // 函数中可以使用全局变量
			console.log(c); // 函数中可以使用自身的局部变量
			console.log(d); // 函数中可以使用全局变量
		}
		// 调用函数
		func();

		console.log(a); // 函数外可以使用全局变量
		console.log(b); // 函数外可以使用全局变量
		console.log(c); // 函数外不能使用函数的局部变量
		console.log(d); // 函数外可以使用全局变量
	</script>
</body>
</html>

效果图
在这里插入图片描述

结论
1.在函数外,无论是否使用 var 声明变量,都是局部变量,在整个 JavaScript 文件可用
2.在函数内,使用 var 声明的变量为局部变量,只在当前函数可用
3.在函数内,不用 var 声明的变量依然为全局变量,在整个 JavaScript 文件可用
4.在 JavaScript 中,函数内部能够使用全局变量,函数外部不能使用局部变量

四:函数声明和调用的注意事项

1、函数的命名规范

  • 函数名只能由字母、数字、下划线和$组成,且开头不能是数字
  • 函数名对大小写敏感,使用时需注意区分大小写
  • 函数名的声明必须符合小驼峰法或者下划线命名法
    • 小驼峰法则:变量首字母为小写,之后每个单词首字母大写
    • 下划线命名法:变量所有字母都小写,单词之间用下划线分隔

2、形参列表和实参列表

  • 声明函数时的参数列表,称为“形参列表”(变量的名)
  • 调用函数时的参数列表,称为“实参列表”(变量的值)
<script type="text/javascript">
		// 形参列表
		function add(num1,num2){
			var sum = num1 + num2;
			return sum;
		}
		// 实参列表
		add(3,5);
	</script>

3、函数形参与实参的个数并无直接关联

  • 声明函数的形参列表与调用函数的实参列表没有直接关联关系
  • 在函数中,实际有效的参数取决于实参的赋值,未被赋值的形参为 Undefined
<script type="text/javascript">
	// 形参列表个数>实参列表个数,num3的值为 Undefined
	function func1(num1,num2,num3){
	// 函数内容
	}
	func1(1,2)

	// 实参列表个数>实参列表个数,多余的实参将存储在 arguments 对象中
	function func2(num1){
		// 函数内容
	}
	func2(1,2,3)		
</script>

4、函数如果需要返回值,可用 return 返回结果

  • 函数可以有返回值,也可以没有返回值
  • 调用函数时,使用 var 变量名=函数名() 的方式接收返回结果
  • 如果函数没有返回值,则接收的结果为 Undefined

5、函数声明与函数调用没有先后之分

  • 函数的声明和函数的调用语句没有先后顺序之分
    • 函数调用语句可以写在函数声明之前
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值