函数:
1. - function
,是被设计为执行特定任务的代码块
-
说明: 函数可以把具有相同或相似逻辑的代码“包裹”起来,通过函数调用执行这些被“包裹”的代码逻辑,这么做的优势是有利于精简代码方便复用
-
函数声明语法:
function 函数名(){
}
2. 函数名命名规范
- Ø 和变量命名基本一致
- Ø 尽量小驼峰式命名法
- Ø 前缀应该为动词
- Ø 命名建议:常用动词约定
3. 函数的调用
- 注意:声明(定义)的函数必须调用才会真正被执行,使用 () 调用函数
4. 总结
1.函数是用那个关键字声明的?
Ø function
2. 函数不调用会执行吗?如何调用函数?
- Ø 函数不调用自己不执行
- Ø 调用方式: 函数名()
3. 函数的复用代码和循环重复代码有什么不同?
- Ø 循环代码写完即执行,不能很方便控制执行位置
- Ø 随时调用,随时执行,可重复调
函数传参
- 若函数完成功能需要调用者传入数据,那么就需要用有参数的函数
- Ø 这样可以极大提高函数的灵活性
function 函数名(参数列表){
函数体
}
函数传参
- 形参:声明函数时写在函数名右边小括号里的叫形参(形式上的参数)
- Ø 实参:调用函数时写在函数名右边小括号里的叫实参(实际上的参数)
- Ø 形参可以理解为是在这个函数内声明的变量(比如 num1 = 10)实参可以理解为是给这个变量赋值
- Ø 开发中尽量保持形参和实参个数一致
总结
1.函数传递参数的好处是?
- Ø 可以极大的提高了函数的灵活性
2. 函数参数可以分为那两类?怎么判断他们是那种参数?
- Ø 函数可以分为形参和实参
- Ø 函数声明时,小括号里面的是形参,形式上的参数
- Ø 函数调用时,小括号里面的是实参,实际的参数
- Ø 尽量保持形参和实参的个数一致
参数默认值
- 参数 = 0
- 说明:这个默认值只会在缺少实参参数传递时 才会被执行,所以有参数会优先执行传递过来的实参, 否则默认为 undefined
函数返回值
- 当函数需要返回数据出去时,用return关键字
return 数据
有返回值的函数 return
- Ø 在函数体中使用 return 关键字能将内部的执行结果交给函数外部使用
- Ø return 后面代码不会再被执行,会立即结束当前函数,所以 return 后面的数据不要换行写,除非用反引号 ``
- Ø return函数可以没有 return,这种情况函数默认返回值为 undefined
代码块
<script>
function getSum(part) {
let sum = 0
for (let i = 1; i <= part; i++) {
sum += i
}
document.write(sum)
}
// 求1-50累加和
getSum(50)
document.write(`<br>`)
// 求1-100累加和
getSum(100)
// 形参 :(start,end)
function getSum1(start,end) {
let sum = 0
for (let i = start; i <= end; i++) {
sum += i
}
document.write(sum)
}
// 求1-50累加和
getSum1(1,50)
document.write(`<br>`)
// 求1-100累加和
getSum1(1,100) //实参
document.write(`<br>`)
// 求2-5累加和
getSum1(2,5)
// 输入两个数,计算两者的和
function getAll(one = 0,two = 0) {
document.write(one + two)
}
let one = +prompt(`请输入第一个数`)
let two = +prompt(`请输入第二个数`)
getAll(one,two)
</script>
<script>
// 封装一个求和函数
function getSum(arr = []) {
let sum = 0
for (let i = 0; i < arr.length ; i++) {
sum += arr[i]
}
document.write(sum)
}
getSum([1,2,3,4,5])
</script>
<script>
// 求任意数组的最大值最小值,并返回
function getArrMax(arr = []) {
let max = arr[0]
let min = arr[0]
for (let i = 0; i < arr.length; i++) {
if (max < arr[i]) {
max = arr[i]
}
if(min > arr[i]){
min = arr[i]
}
}
return [max,min]
}
let newArr = getArrMax([1,2,3,45,6,7,4,9,0])
document.write(`最大值:${newArr[0]} <br>`)
document.write(`最小值:${newArr[1]}`)
</script>