javascript函数的笔记

时间:2020-03-24
本文章向大家介绍javascript函数的笔记,主要包括javascript函数的笔记使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

    1、函数的概念

    封装一段可以被重复调用执行的代码块来实现大量代码的重复使用
    2、函数的使用分为两步:声明函数 和 调用函数
    3、声明函数的关键字全部是小写
    4、函数名一般是动词、函数不调用自己不执行

    5、函数的封装
    函数的封装就是把一个或者多个通过函数的方式封装起来,对外只提供一个简单的函数接口

    6、形参和实参

    在声明函数的括号里面是形参
    形参是接受实参的
    在调用函数的括号里面是实参
    7、函数的参数可以有,也可以没有不限制个数
    参数的作用:在函数内部的某些值不固定的时候,我们可以通过参数在调用的时候传递不同的值进去

    注意:

    多个参数之间逗号隔开
    形参可以看做是不用声明的变量
    如果实参的个数多余形参,会取到形参的个数
    如果实参的个数小于形参,多出来的形参定义为undefined


    8、函数的返回值
    函数这是实现某种功能,最终的结果需要返回给函数的调用者
    只要函数遇到return 就把后面的结果返回给函数的调用者

    9、遇到return会终止函数
    return 只能返回一个值,如果有多个值就只返回最后一个值
    10、我们的函数如果没有return,则返回undefined


    break,continue,return区别

    break:结束当前循环体(for,while)
    continue:跳出本次循环,继续执行下次循环(for,while)
    return: 不仅可以退出循环,还能够返回return语句的值,同时还可以结束当前的函数体内的代码


    11、arguments使用
    当我们不确定有多少个参数传递的时候,可以用arguments来获取,arguments存储了传递的使用实参
    只有函数才有arguments
    伪数组具有
    数组的length属性
    按照索引的方式进行存储
    他没有真正数组的方法

    12、函数的两种声明方式

    利用函数关键字自定义函数
    function 函数名(){}
    函数表达式(匿名函数)
    var 变量名=function(){}
    变量名()
    变量名不是函数名
    函数表达式调用的时候也可以传递参数
  1     function sum(num1, num2) {
  2         var num = 0;
  3         for (var i = num1; i <= num2; i++) {
  4             num += i;
  5         }
  6         console.log(num);
  7     }
  8     sum(1, 100)
  9 
 10     // 声明函数
 11     function hello() {
 12         // 函数体
 13         console.log("hello word");
 14 
 15     }
 16     // 函数调用
 17     // 函数名()
 18     hello()
 19 
 20 
 21     // 1~100之间的累加和
 22     function getSum() {
 23         var sum = 0;
 24         for (var i = 1; i <= 100; i++) {
 25             sum += i
 26         }
 27         console.log(sum);
 28     }
 29     getSum()
 30 
 31     // function 函数名(形参1, 形参2) {
 32     //     函数体
 33     // }
 34     // 函数名(实参1, 实参2)
 35 
 36 
 37     // 求任意两个数的和
 38     function getsum(num1, num2) {
 39         console.log(num1 + num2);
 40     }
 41     getsum(1, 6)
 42     // 求任意两个数之间的和
 43     function getsums(start, end) {
 44         var sum = 0;
 45         for (var i = start; i <= end; i++) {
 46             sum += i
 47         }
 48         console.log(sum);
 49     }
 50     getsums(2, 5)
 51 
 52 
 53     //  形参和实参不匹配的问题
 54     function getmax(num1, num2) {
 55         console.log(num1 + num2);
 56     }
 57     getmax(2, 4)
 58     getmax(2, 4, 5)
 59     getmax(2)
 60 
 61 
 62     // return
 63     // function 函数名() {
 64     //     return 需要返回的结果
 65     // }
 66     // 函数名()
 67     function getResult() {
 68         return 222
 69     }
 70     console.log(getResult());
 71 
 72     // 完善任意两个数的和
 73     function getnum(num1, num2) {
 74         return num1 + num2
 75     }
 76     console.log(getnum(3, 4));
 77 
 78     // 求任意两个数的最大值
 79     function getMax(num1, num2) {
 80         // 方法一
 81         if (num1 > num2) {
 82             return num1
 83         } else {
 84             return num2
 85         }
 86         // 方法二
 87         return num1 > num2 ? num1 : num2
 88     }
 89     console.log(getMax(8, 6));
 90 
 91 
 92     // 求数组中的最大值
 93     // var newArr = [666, 4, 65, 11, 36, 89, 2]
 94     function getArr(arr) {
 95 
 96         var max = arr[0]
 97         for (var i = 1; i < arr.length; i++) {
 98             if (arr[i] > max) {
 99                 max = arr[i]
100             }
101         }
102         return max
103     }
104     console.log(getArr([666, 4, 65, 11, 36, 89, 2]));
105     // 方法二
106     var re = getArr([666, 4, 65, 11, 33336, 89, 2])
107     console.log(re);
108 
109 
110     // 任意两个数的加减乘除
111     function getResult(num1, num2) {
112         return [num1 + num2, num1 - num2, num1 * num2, num1 / num2]
113     }
114     var look = getResult(1, 3)
115     console.log(look);
  1 // 用户任意输入两个数(简单的计算器小功能),并且推出结果
  2     function getCalculator() {
  3         var num1 = Number(prompt("请输入第一个数字"))
  4         var num2 = Number(prompt("请输入第二个数字"))
  5         var choice = (prompt("请输入运算符号"))
  6         if (choice == "+") {
  7             return num1 + num2
  8         } else if (choice == "-") {
  9             return num1 - num2
 10         } else if (choice == "*") {
 11             return num1 * num2
 12         } else if (choice == "/") {
 13             return num1 / num2
 14         }
 15     }
 16     alert(getCalculator());
 17 
 18     // 任意输入三个数字,弹出最大值
 19     function getMax() {
 20         var num1 = Number(prompt("请输入第一个数字"))
 21         var num2 = Number(prompt("请输入第二个数字"))
 22         var num3 = Number(prompt("请输入第三个数字"))
 23         var newArr = [num1, num2, num3]
 24         var list = []
 25         newArr.sort(function (a, b) {
 26             return b - a
 27         })
 28         var list = newArr[0]
 29         alert(list);
 30     }
 31     getMax()
 32 
 33 
 34     function fn() {
 35         console.log(arguments);
 36 
 37     }
 38     fn(1, 2, 3, 4)
 39 
 40     // 封装一个函数任意翻转数组
 41     function reverse(arr) {
 42         var newArr = []
 43         for (var i = arr.length - 1; i >= 0; i--) {
 44             newArr[newArr.length] = arr[i]
 45         }
 46         return newArr
 47     }
 48     var arr1 = reverse([2, 355, 664, 34, 67, 22])
 49     console.log(arr1);
 50 
 51 
 52     // 利用函数冒泡排序
 53     function arrSort() {
 54         var arr = [5, 66, 99, 4, 11, 5]
 55         for (var i = 0; i <= arr.length - 1; i++) {
 56             for (var j = 0; j <= arr.length - i - 1; j++) {
 57                 if (arr[j] > arr[j + 1]) {
 58                     var temp = arr[j]
 59                     arr[j] = arr[j + 1]
 60                     arr[j + 1] = temp
 61                 }
 62             }
 63         }
 64         return arr
 65     }
 66     console.log(arrSort());
 67 
 68 
 69     // 函数互相调用
 70     function fun1() {
 71         console.log("888");
 72     }
 73 
 74     function fun2() {
 75         fun1()
 76     }
 77     fun2()
 78 
 79 
 80     // 判断是否是闰年
 81     function isRunYear(year) {
 82         // 如果是闰年返回true,否则返回false
 83         var flag = false;
 84         if (year % 4 == 0 && year % 100 != 0 || year && 400 == 0) {
 85             flag = true
 86         }
 87         return flag
 88     }
 89     console.log(isRunYear(2012));
 90 
 91     // 判断用户输入的年份输出二月份天数
 92     function backDay() {
 93         var year = prompt("请输入年份")
 94         if (isRunYear(year)) {
 95             alert("当前是闰年,二月份有29天")
 96         } else {
 97             alert("当前不是闰年,二月份有28天")
 98         }
 99     }
100     backDay()

原文地址:https://www.cnblogs.com/xf2764/p/12557767.html