JavaScript函数(function)

JavaScript函数(function)

概念

就是重复执行的代码块,或是说事件驱动重复执行的代码块。

语法结构:function 函数的名称(){函数体}

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>函数的概念</title>
		<script type="text/javascript">
		//语法结构:function 函数的名称(){函数体}
//		实现btn函数
			function btn(){
				alert('你触发了点击事件,调用了click函数');
			}
		</script>
	</head>
	<body>
		<button onclick="btn()">点击一下呦</button>
		<button onclick="btn()">还可以点击哦</button>
	</body>
</html>

定义

(1)匿名函数:就是没有名字的函数。

由事件驱动onload执行重复的代码块。

(2)具备名称的函数

函数的调用:1.事件驱动的方式进行调用 2.自己调用

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>匿名函数</title>
		<script type="text/javascript">
//			匿名函数: 顾名思义就是没有名字的函数
//			由事件驱动onload  执行重复的代码块(匿名的函数)
//			window.onload=function(){
//				alert('加载事件驱动了匿名函数');
//			}
//			//函数之中嵌套函数
//			//匿名函数的定义
//			var myFunction=function(){
//				alert('你调用了一个匿名的函数');
//			}
//				myFunction();//因为不能将函数当做一个值输出,只有这种形式才可以调用函数.从而执行函数体
			//(2)具备名称的函数
			function myFunction(){
				document.write('这是一个有名称的函数:myFunction()');
			}
			myFunction();  //自己调用
			//函数的调用:
//			(1)事件驱动的方式进行调用函数;
//			(2)自己调用

			
		</script>
	</head>
	<body>
	</body>
</html>

案例:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>案例</title>
		<script type="text/javascript">
//		自己调用
			function speak(){
				alert('深情地朗读');
			}
			speak();
		</script>
	</head>
	<body>
		<div onclick="speak()">朗读者</div>
		<button id="btn">点击一下</button>
		<script type="text/javascript">
			var btn1=document.getElementById('btn');
		  	btn1.onclick=btn;   //直接调用函数的名称就行,不需要添加括号
			function btn(){  //创建了一个触发点击事件后要执行的行为(函数)
				alert('点击按钮调用了有名称的函数');
			}
		</script>
	</body>
</html>

带有参数的函数以及调用的方式

定义一个带有参数的函数

function 函数名称(参数1,参数2…){函数体}

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>带有参数的函数</title>
		<script type="text/javascript">
			//1,定义一个带有参数的函数
//			function 函数名称(参数1,参数2....){函数体}
			function lay(a){   //形参:定义函数的参数
				document.write(a);
			}
//			lay(1007);   //实参:调用函数的参数
//			多个参数
			function test1(a,b){
				document.write(a+b);
			}
//			test1(2,7);   //结果为9
			//test1('2','7');   //结果为25(字符串)
			
			//用户手动输入两个数字,判断两个数字的大小,如果a>b,则
//			返回1,否则返回-1,相等返回0   使用函数解决问题
			var mess1=prompt('请输入第一个数:');
			var mess2=prompt('请输入第二个数:');
			var num1=parseFloat(mess1);
			var num2=parseFloat(mess2);
//			if方法:
//			if(num1>num2){
//				document.write(1);
//			}else if(num1<num2){
//				document.write(-1);
//			}else{
//				document.write(0);
//			}
//			函数方法:
			function compare(num1,num2){
				if(num1>num2){
					document.write(1);
				}else if(num1<num2){
					document.write(-1);
				}else{
					document.write(0);
				}
			}
			compare(num1,num2);
			
		</script>
	</head>
	<body>
	</body>
</html>

带有返回值的函数以及调用方式

关键字:return

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>带有返回值的函数以及调用</title>
		<script type="text/javascript">
//			关键字:return
//			var x=3,y=34;
//			function lay(a,b){  //形参
//				return a+b;
//			}
//			var sum=lay(x,y);   //实参
//			document.write(sum);
			
			//		如果不转换成数字类型的话,出现的结果为字符串类型,以下就为转换成数字类型
			var x=prompt('请输入第一个数');
			var y=prompt('请输入第二个数');
			var num1=(parseFloat(x));
			var num2=(parseFloat(y));
			function lay(a,b){
				return a+b;
			}
			var num=lay(num1,num2)
			document.write(num);
		</script>
	</head>
	<body>
	</body>
</html>

全局变量

在整个程序中,所有的函数都可以访问到的变量,或者是写在对象底下的变量。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>全局变量</title>
		<script type="text/javascript">
		//全局变量: 在整个程序中,所有的函数都可以访问到的变量,或者是写在对象底下的变量
		window.onload=function(){
			var name='张三';
			var age=34;
			var sex='男';
			var job='软件开发';
			var salary=4000;
//			function message(name2){
//				document.write('我是第一个函数调用变量name为'+name2);
//			}
//			message(name);
//			以下为无参数
			function myTest1(){
					document.write('我是第一个函数调用变量name为'+name);
				}
				myTest1();

		}
		
		</script>
	</head>
	<body>
	</body>
</html>

局部变量

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>局部变量</title>
		<script type="text/javascript">
			window.onload=function(){
				var num1;  //也可将局部变量转换为全局变量
				function test1(){
					//var num1=20;
					//转换为全局变量:去掉var关键字
					//num1=20;
					num1=20;

				}
				function test2(){
					document.write('使用test2访问test1中的变量num1='+num1);
				}
				test1();
				test2();  //在调用test2函数的时候,访问test1中的变量num1无效,原因是num1作用于test1函数
				//在一个函数体中如何将一个局部变量转换为全局变量?
				//注: 只需要将这个函数体中的定义变脸搞得关键字var 去掉
			}
		</script>
	</head>
	<body>
	</body>
</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值