1.函数的定义
- 函数是就是在它的内部定义一些代码,聚和一下代码。
- 封装了一段可以被重复调用执行的代码块。通过代码块可以实现大量代码的重复使用!!
2.函数的使用
- 声明函数
- 调用函数(函数不能自己调用)
2.1声明函数
- 声明函数
- 匿名函数声明
- 关键词new声明函数
- 函数表达式
<script>
/*函数有两个步骤
1. 声明函数
2.调用函数(函数不能自己调用)
声明函数
1.function 函数名(){
//函数体
}
2.匿名函数的声明
var demo = function (){}
3.使用关键词new声明
var demo = new Fuction('')
函数的调用
函数名()即为函数的调用
// 4.函数表达式
var fn = function() {
}
*/
//函数声明
function sayHello(){
console.log('你好 世界')
}
// 函数的调用
sayHello();
</script>
2.2函数的调用
函数名();
sayHello();
3.参数
- 当函数声明时,参数称为形参,而且使用变量的形式!!!两个参数之间用逗号隔开!!!
- 在函数的调用时,参数称为实参,可以使用变量或者字面量
- 超出形参数目的实参不传递其值。
- 如果没有对应的实参(实参数目少于形参数目)传入,其值为undefined。
<script>
//1.当函数声明时,参数称为形参,而且使用变量的形式!!!两个参数之间用逗号隔开!!!
function add(num1, num2){
return num1 + num2;
}
//2.在函数的调用时,参数称为实参,可以使用变量或者字面量
var a = 300
console.log(add(a, 40));
</script>
4.return
- return 返回的意思
- return会终止当前函数的执行,下面的代码不再执行!!!
<script>
// return 表示返回的意思
// return会终止当前函数的执行,下面的代码不再执行!!!
var arr = [ 33, 30, 309, 459,3, 43,493]
// 用函数来取 数组中的最大值
function getArrMax(myarr){
var max = myarr[0];
for (var i = 1; i<myarr.length; i++){
if(max<myarr[i]){
max = myarr[i]
}
}
return max;
// return会终止当前函数的执行,下面的代码不再执行!!!
console.log('你好世界');
}
console.log(getArrMax(arr))
</script>
5.arguments
- arguments 不是一个真正的数组 但是他可以 arguments[]取值 arguments.length;
- 当实参的个数比形参多时 可以通过arguments调用
<script>
// arguments 不是一个真正的数组 但是他可以 arguments[]取值 arguments.length;
function fu(){
console.log(arguments);//argumets(1,2,3,4,5)
console.log(arguments.length);// 5
console.log(arguments[0]);//1
for(var i = 0 ; i<arguments.length; i++){
console.log(arguments[i]);
}
}
fu(1,2,3,4,5)
</script>
函数的嵌套
函数与函数之间可以相互 嵌套 但是 a嵌套b b在嵌套a 则会形成死循环
<script>
// 函数与函数之间可以相互 嵌套 但是 a嵌套b b在嵌套a 则会形成死循环
//案例 用函数嵌套 来实现 判断闰年与平年
function inPutDay(yr){
if(yr % 4 == 0 && yr % 100 != 0 || yr % 400 == 0){
return true;
}else{
return false;
}
}
function isRunYear(){
var year =Number(prompt('请输入你的年份'));
if(inPutDay(year)){
alert('闰年');
}else{
alert('平年');
}
}
isRunYear();
</script>
函数的调用
- 当函数被当做参数传入时 函数有参数则加括号 无参数 不加括号
- 当调用函数时,无论有无参数,都加括号。