JavaScript学习(五)函数

1.函数概念

函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块

2.函数语法

函数就是包裹在花括号中的代码块,前面使用了关键词 function:

  • 语法:

function functionname(){ 这里是要执行的代码 }
在这里插入图片描述

3. 自定义函数类型
  1. 无参数 无返回值 函数
	//定义函数
	function sayHi(){
		alert("hello world!");
	}
	//调用函数
	sayHi();
  1. 有参数 无返回值 函数

    形参: 函数定义时填写的参数
    实参: 函数调用时传入的参数
    注意:

    参数在传递时,其顺序必须一致,参数的个数可以为任意多,每个参数通过逗号隔开
    通过传递参数的个数以及参数的类型不同完成不同的功能

	//定义函数
	function sum(x,y){//形参
		alert(x+y);
	}
	//调用函数
	sum(3,2);
  1. 无参数 有返回值 函数

    return 的作用
    1. 返回值 到函数体
    2. 终止代码
    3. 只是返回值 并没有输出的功能

	//定义函数
	function sayHi(){
		var a = 10;
 		return a;
	}
	//调用函数
	 sayHi();
  1. 有参数 有返回值 函数
	//定义函数
	function sum(i,j){
		return i+j;
	}
	//调用函数
	sum(2,3);
  1. 匿名函数(通过表达式定义的函数)

    函数存储在变量中不需要名字,通常通过变量来调用

	//匿名函数
	var x = function (a,b){
		return a*b;
	}
	var y = x(4,2);
	alert(y);
	
4.函数调用
  • 自调用匿名函数外,函数定义好之后不能自动执行, 需要调用后执行。

可以再<script>标签内调用
也可以在HTML文件中调用

  • html中调用示例
	<!DOCTYPE html>
	<html lang="en">
	<head>
		<meta charset="UTF-8">
		<title>Document</title>
	</head>
	<body>
		<!--这里定义一个 onclick时间 点击按钮时发送一个事件 其中person这里就是下面js的方法体-->
		 <button onclick="person('王强',20,'')">按钮</button>
	
		<script type="text/javascript">
			// + 号在这里就是前面所说的连接符的作用
			//接受上面传过来的三个参数
			function person(name,age,sex) {
				console.log('用户名:'+name)// 用户名:王强
				console.log('用户年龄:'+age) // 用户年龄:20
				console.log('用户性别:'+sex)// 用户性别:男
	        }
		</script>
	</body>
	</html>
  • script 中调用函数比较简单
	//定义函数
	function sum(i,j){
		return i+j;
	}
	//调用函数
	sum(2,3);
5.局部变量、全局变量

在函数体内声明的变量,只能在当前函数中使用

	function sum(x,y){
		//这个就是局部变量
		var z =10;
		return x+y+z;
	}
	//外面不能调用 z
	//如果外面也定义 var z 那么那是一个新的数据

全局变量在任何地方都可以使用

全局变量声明方式:
函数外直接写 a = 10;
函数内直接写 a = 10;

	//函数内: 声明全局变量需要调用后才能使用
	function sum() {
		//1. 不使用关键字定义
		a = 10;
		//2. 使用window关键字定义,这种方式放在那里都是全局变量
		window.b = 5;
    }
    // *必须调用函数
    sum();
    console.log(a);
    console.log(b);

	//函数外: 像普通变量一样定义
	var a =10;
	function sum2() {
		return true;
    }
    // *必须调用函数
    sum2();
    console.log(a);

猜你喜欢

转载自blog.csdn.net/qq_39043923/article/details/88997830