一、 函数:
在我们编写代码时,经常写的一个功能可以在很多地方使用(重复使用),
那为了解决这个重复使用的代码,出现了函数包裹整个代码,进行重复使用
函数就是封装了一段可以被重复使用的代码块 模块
使用:
1.声明函数
(1)自定义函数方式 因为他有自己的名字也叫命名函数
利用函数关键字function自定义函数方式
语法:function fn(){
}
(2)函数表达式方式(匿名函数)
语法:var fn=function(){
}
声明函数特点:function是关键词,必须小写
2.调用函数
fn()
调用:调用的时候必须加(),因为函数本身是不会执行代码的,只有调用时才会执行
二、函数的基本使用
<script>
// 函数名最好是语义化的,函数式一个动态的,所以最好使用动词,函数名如果是多个单词组成,最好是驼峰命名
// 声明函数
function getName(){
console.log('我叫张三');
}
var getName1 = function(){
console.log('我叫lisi');
}
// 调用函数
getName()
getName1()
</script>
三、函数参数
<script>
// 在函数内可以写任何代码
/* function getSum(){
var a=1
var b=2
var c=a+b
console.log(c);
}
getSum() */
/*
函数参数:
形参:函数在定义时接收调用时的传入参数(虚拟参数)
实参:函数调用时传入的真实参数
参数之间需要用逗号隔开
语法:
function fu(形参1,形参2,...){
}
fn(实参1,实参2,...)
注意:形参顺序是与实参传入的顺序一一对应
如果没有传入实参时,定义了形参,那形参就是undefined(其实形参初始值是undefined)
如果实参个数小于形参,那多出来的形参是undefined
如果形参个数少于实参时,那只能拿到形参对应的实参值
*/
/* function getSum(b){
// var c=a+b
// console.log(a);
console.log(b);
// console.log(c);
}
getSum(1,2) */
/* function getSum(){
var sum=0
for(var i=1;i<=10;i++){
sum+=i
}
console.log(sum);
}
getSum()
function getSum1(){
var sum=0
for(var i=10;i<=20;i++){
sum+=i
}
console.log(sum);
}
getSum2() */
/* function getSum2(a,b){
var sum=0
for(var i=a;i<=b;i++){
sum+=i
}
console.log(sum);
}
getSum2(10,30) */
function getSum2(a,b){
var sum=0
var num=0
for(var i=a;i<=b;i++){
if(i%3==0&&i%7==0)
{
num++;
console.log(i);
sum+=i}
}
console.log(num);
console.log(sum);
}
getSum2(1,100)
</script>
四、return语句
<script>
/*
return 和continue/break相似,
continue是跳出本次循环
break是跳出整个循环
return 不仅可以结束循环,还可以返回return语句中的值,还可以结束当前的函数体内的代码
*/
function fn() {
console.log('你好')
return
console.log('我在这呢')
}
fn()
</script>
五、return使用
<script>
// return特点:
/*
1 不仅可以结束循环,
2 还可以返回return语句中的值,
3 还可以结束当前的函数体内的代码
*/
/* 结束循环: function getSum(a, b) {
var sum2 = 0
for (var i = a; i <= b; i++) {
sum2 = sum2 + i
return
}
console.log(sum2)
}
getSum(1, 10)
getSum(10, 20) */
//函数中如果没有return值 打印函数会是undefined
// function fn() {
// }
// console.log(fn())
// return语句后没有返回值,会返回undefined
// function fn() {
// return
// }
// console.log(fn())
//如果return后有一个返回值,就会返回这一个值
// function fn() {
// return 1
// }
// console.log(fn())
//如果return中返回了多个以逗号隔开的值,会返回最后一个
// function fn() {
// return 1, 2, 3
// }
// console.log(fn())
//如果return后面写的是数组,会返回数组
/* function fn() {
return [1, 2, 3, 4]
}
console.log(fn()) */
</script>
六、return案例
<script>
// 三元表达式返回两个值中的最小值
// function getMin(a, b) {
// return a > b ? b : a
// }
// // console.log(getMin(44, 64))
// var min = getMin(44, 64)
// console.log(min)
// console.log(1 > 2 ? true : '')
</script>