这是我参与第四届青训营笔记创作活动的第三天
今天学习js的函数部分
从以下几个方面进行
函数的介绍
在JS学习中,我们会定义很多功能相似或相同的代码。因此,我们可以使用函数封装一段可重复调用执行的代码块,通过这样的方式,我们可以减少带码的重复。
简而言之:函数就是封装了一段可被重复执行调用的代码块
函数的使用
声明函数
//声明一个函数
function 函数名(){
console.log("这是我声明的函数")
}
声明规则:
- function 声明关键字
- 函数名用驼峰命名法
- 函数若是不调用则不会执行
调用函数
//调用函数
function 函数名(){
console.log("这是我声明的函数")
}
函数名()
上述函数输出结果为:这是我声明的函数
函数的封装
函数的封装指的是将一个或多个功能通过函数的方式封装起来,对外只提供一个接口
计算1到100之间的累加和
//声明一个函数
function getSum(x,y){
var sum=0;
for(var i=0;i<=100;i++){
sum+=1
}
console.log(getSum)
}
//调用函数
sums(1,100)
函数的参数
函数的参数分为形参和实参
顾名思义,形参就是形式参数是可变的,实参是实际参数,再上一个代码片段中,形参是x,y 实参是调用时写的1,100其中x=1,y=100
函数的实参形参不匹配
- 当形参个数小于实参个数,则多出来的不参与运算
- 当形参个数多于实参个数,则该形参为undefined,最终结果为NaN
函数返回值
return
格式如下
function 函数名(形参一,形参二){
return 需要返回的结果
//不再使用console.log()
}
函数名(实参一,实参二)
- 只要执行函数时遇到return就会把后面的值返回
- 执行return也会终止函数的继续执行
- return只能返回一个值,但可以是一个计算,或者是数组
做一个案例,计算两个值之间的最大值
function numMax(a,b){
if(a>b){
return a
}
else if(b>a){
return b
}
else{
return =
}
}
numMax(4,7)
在实际开发中可以使用一个变量接手返回值
arguments的使用
- 当不清楚有多少个参数传递的时候,可以使用arguments来获取
- arguments是函数的一个内置对象,每个函数都有
- arguments对象中存储了传递的所有实参
arguments
- arguments是一个伪数组(有以下特性)
- 具有length属性
- 按索引方式存储数据
- 不具有push,pop等方法 -代码解释
function fun(){
console.log(arguments)
console.log(arguments.length)
console.log(arguments[2])
}
fun(1,4,6,9)
输出结果:
练习,利用函数求任意个数的最大值
function nMax(){
var max=arguments[0];
for(var i=1;i<=arguments.length;i++){
if(arguments[i]>max){
max=arguments[i]
}
}
return max
}
console.log(nMax(2,4,7,6,56,3,,32))
总结:实践出真知