JavaScript 函数
什么是函数
就是封装了一段可被重复调用执行的代码块,通过这个代码块可以实现大量代码的重复使用
函数的使用
函数的使用步骤: 声明函数 和 调用函数
- 声明函数
function 函数名 () {
函数体
}
function 声明函数的关键字 全部小写
函数不调用自己不执行
2.调用函数
函数名 ()
函数本身并不会执行代码,只有在调用函数时才会执行函数体代码
函数的封装
函数的封装就是把一个或者多个功能通过函数的方式封装起来,对外只提供一个简单的函数接口
利用函数进行计算
// 首先声明函数
function getSum (value1,value2) {
var sum = 0;
for (var i = value1; i <= value2 ; i++ ){
sum +=i
}
console.log(sum)
}
// 调用函数
getSum(1,100) // 5050
getSum(1,10) //55
函数参数
如果实参的个数跟形参的个数一致 则正常输出结果;如果实参个数大于形参个数,会取形参的个数;如果实参个数少于形参个数,多余形参定义为undefined。
getSum(1,2) //3
getSum(1,2,3) //3
getSum(1) // NaN
- 函数可以带参数也可以不带参数
- 声明函数的时候,函数名括号里面的是形参,形参的默认值为undefined
- 调用函数的时候,函数名括号里面的是实参
- 多个参数中间用逗号分割
- 形参与实参个数尽量匹配,不然很容易出错
函数的返回值
- return 语句
function 函数名(){
return 需要返回的结果;
}
函数名()
函数只是实现某种功能,最终的结果需要返回给函数的调用者 函数名() 通过return实现
只要函数遇到rerurn 就把后面的结果 返回给函数调用者 函数名() = return后面的结果
实际开发时,通常使用一个变量来接收函数的返回值
function getResult(){
return 666;
}
getResult() // 666
function getLian(value){
return value;
}
getLian('1') // '1'
getLian(2) // 2
function getLian(value1,value2){
return value1+value2 ;
}
getLian(1,2) // 3
利用函数求数组中最大元素
var arrAy = [11,21,4,31,45,67]
function getArrMax(arr){
var max = arr[0]
for (var i = 1; i<=arr.length; i++) {
if(arr[i] > max){
max = arr[i]
}
}
return max
}
var val = getArrMax(arrAy ) // 67
console.log(val) // 67
2、return 终止函数
return 后面的代码不会被执行,只能返回一个值
function getSum(num1,num2){
return num1 + num2;
console.log("我不会执行")
}
getSum(1,2) // 3
function fn(num1,num2){
return num1,num2; // 多个返回值用逗号分割,返回的结果是最后一个值
}
console.log(fn(1,2)) // 2
函数返回值注意事项
1.函数有return 则返回return 后面的值,反之返回undefined
2.break continue return 的区别
break:结束当前的循环体(如for循环,while循环)
continue:跳出本次循环,继续执行下次循环 (如for循环,while循环)
return:既能退出循环,还能返回return语句中的值,同时结束当前函数体内的代码
arguments
当我们不确定有多少个参数传递的时候,可以使用arguments来获取。
arguments 实际上是当前函数的一个内置对象,在arguments对象中储存了传递的所有实参
只有函数才有arguments对象,而且每个函数都内置好了这个arguments
function fn(){
console.log(arguments)
}
fn(1,2,3)
arguments 展开形式是一个伪数组,可以对其进行 遍历 操作;但是不具备数组的pop,push等方法