JavaScript—函数

定义:就是封装了一段可以被重复执行调用的代码块
目的:减少大量的重复代码
函数使用分为两步:声明函数和调用函数
1、声明函数
function 函数名(){
函数体
}

2、调用函数
函数名();

注意:
声明函数本身并不会执行代码,只有调用函数才会执行函数体代码
函数的封装是把一个或者多个功能通过函数的方式封装起来,对外只提供一个简单的函数接口
1、利用函数计算1-100的累加和
let sum = 0;
function getSum(start,end) {
   for (let i = start;i<=end;i++){
       sum += i;
  }
}
getSum(1,100);
console.log(sum);

结果:5050
小结:
函数可以带参数也可以不带参数
形参:在函数声明的小括号里面的是形参(形式上的参数),当前并不知道是什么
实参:在函数调用的小括号里面的是实参(实际上的参数),实参是传递给形参的
如果实参的个数多于形参的个数,会取到形参的个数,不影响结果
如果实参的个数小于形参的个数,多余的形参定义为undefined,最终的结果就是NaN
2、函数的返回值
function getMax(num1,num2) { 
   if (num1>num2){
       return num1;
  }else if (num2<num1){
       return num2;
  }else {
       return "这两个数一样大";
  }
}
console.log(getMax(22,222));

结果:222

注意:
return语句之后的代码不被执行
return只能返回一个值,返回最后一个值
return可以返回数组
函数有return则返回return后面的值
函数没有return则返回undefined

例:
return num1,num2; 只返回num2
3、break、continue、return的区别
break:结束当前的循环体(如for、while)
continue:跳出本次循环,继续执行下次循环(如for、while)
return:不仅可以退出循环,还能够返回return语句中的值,同时还可以结束当前的函数体内的代码
4、arguments的使用
在JavaScript中,arguments实际上它是当前函数的一个内置对象。所有函数都内置了一个arguments对象,arguments对象中存储了传递的所有实参。
arguments展示形式是一个伪数组,因此可以进行遍历。伪数组具有以下特点
1)具有length属性
2)按索引方式存储数据
3)不具有数据的push、pop等方法

function f() {
   console.log(arguments);
   console.log(arguments.length);
   console.log(arguments[1]);
   for (let  i = 0 ;i < arguments.length;i++){
       console.log(arguments[i]);
  }
}
f(1,2,3)


结果:
Arguments(3) [1, 2, 3, callee: ƒ, Symbol(Symbol.iterator): ƒ]
3
2
1
2
3
5、翻转数组
function reverse(arr){
   let newArr = [];
   for (let i = arr.length-1;i >= 0;i--){
       newArr[newArr.length] = arr[i];
  }
   return newArr;
}
let arr1 = reverse([1,2,3,4,5,6,7,8,9,10,11,12,13]);
console.log(arr1);

结果:(13) [13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
6、冒泡排序
function sort(arr){
   for (let i = 0; i<arr.length-1; i++){
       for (let j = 0 ; j < arr.length-i-1 ;j++){
           if (arr[j] < arr[j+1]){
               let temp = arr[j];
               arr[j] = arr[j+1];
               arr[j+1] = temp;
          }
      }
  }
   return arr;
}
let arr = [1,2,3,4,5,6,7,8,9];
console.log(sort(arr));

结果:(9) [9, 8, 7, 6, 5, 4, 3, 2, 1]
7、判断是否为闰年
function isRunYear(year) {
   let flag = false;
   if (year % 4 == 0 && year % 100 != 0 || year % 400 ==0 ){
       flag = true;
  }
   return flag;
}
console.log(isRunYear(2000));

结果:true
8、函数的声明方式
1、利用函数关键字自定义函数(命名函数)
function fn(){
   
}
2、函数表达式(匿名函数)
let 变量名 = function(){}
let fun = function(){
   console.log('我是函数表达式')
}
fun();

(1)fun是变量名不是函数名
(2)函数表达式声明方式和声明变量差不多,只不过变量里面存的是值,而函数表达式里面存的是函数

 

posted @ 2022-02-23 22:39  小鹅爸爸  阅读(152)  评论(0编辑  收藏  举报