1、什么是函数?
封装一段代码块,这一段代码是独立运行,并且可以重复使用
函数(function):也可以称之为方法(method) ,过程(procedure),是一段预定义好的,可以重复使用的代码块
2、为什么使用函数?
不适用函数的弊端:
事件中想执行js脚本只能逐行编写
可复性不高
提高代码的复用性
3、怎么使用?
3.1 函数的定义
事先声明好的内容,不会马上被执行
语法:
function 函数名(){
函数体—代码块
注意:允许包含若干条的可执行语句,这一段diamante应该是一个独立的功能体,同时也是一个功能完成的对象
}
3.2 调用函数
学过的函数(JS定义函数,直接拿来用)
3.3 带参函数的声明
1)参数
定义函数时,需要由外部传入到函数内部进行辅助运行的数据,称之为参数
2)语法
function 函数名(参数列表){
函数体
}
参数列表:由,分割开的参数名称的声明
function 函数名(参数1,参数2,参数3…){
函数体
}
调用
函数名(参数1,参数2,参数3…)
3.4 带返回值的函数声明
返回值:调用完函数后,函数内部返回给函数调用处的一个值
function 函数名(参数列表){
函数体
return 值;
}
调用
变量=函数名(参数1,参数2,参数3…)
函数的返回值可以灵活添加,但是最多只能返回一个值
程序碰到了return关键字以后,就将值返回给调用函数处,并且return后面的代码不会在执行
函数声明以后,不调用,永远不会被执行
4、基本数据类型的变量,作为实参传递时,实际上将参数的值赋值了一份副本进行传递
声明提前
js程序会在正式运行前,将所有的var声明的变量 以及function声明的函数,预读到所在作用域的顶部
但是对于变量的赋值还保留在原有的位置
<button onclick="testFun1()">按钮</button>
<button onclick="fun2()">测试提前声明</button>
<script>
function fun1(num1,num2){
num1=10;
num2=20;
console.log("在函数中...")
console.log(num1,num2);
}
function testFun1(){
var num1=100;
var num2=200;
console.log("调用函数之前.....");
console.log(num1,num2);
fun1(num1,num2);
console.log("调用函数之后");
console.log(num1,num2);
}