前端-全栈我爱编程

js琐碎笔记之 函数

2018-05-26  本文已影响13人  光明程辉

函数:

       什么是函数:
           一段可以在需要的时候就执行,可以重复使用的代码片段

       解决的问题:
       代码可以重复使用

语法:

*           函数的声明:
*
*               最常用的
*               function 函数名(参数列表){
*                   函数体
*               }
*
*               函数表达式(不常用)
*               var 变量名 = function(参数的列表){
*                   函数体
*               }

函数的调用:

*               函数名(参数);
*               如果函数没有调用,在函数里面的代码是不会执行的

使用return关键字

 想要函数执行完毕之后,有一个结果可以被保存:
  使用return关键字
  也 称: 函数的执行结果 or 函数的返回值

函数的执行结果

*       函数的返回值:

           函数的返回值的情况:
*          1 没有return ,此时函数的返回值就是 undefined
*          2 有return,但是return的后面没有跟数据,此时也还是undefined
*          3 有return并且return后面有数据,此时返回值就是return后面的数据
*
*
*           return可以修改函数的返回值
*
*         return的作用:
*            1 修改函数的返回值
*            2 终止函数的执行
*            return 后面的代码就不再执行了
      1 函数里面的代码,如果没有调用时不会执行的
*     2 函数里面可以调用另外的函数
*     3 函数在调用的时候,会回到声明的位置执行,执行完毕之后,又会回到调用位置,继续执行
*     4 函数在执行的时候,会发生参数的传递,按照顺序传递

函数的参数

*               形参,实参
*
*               形参的值发生改变,不影响实参的值

反证法(假设法)解决问题 --- 很重要的

 遇上需要多重条件同时成立
    推荐使用 : 反证法(假设法)解决
               1 假设某个结论成立
               2 找出一个反例,推翻假设
               3 如果一直找,都找不到,证明假设成立

下面有2个例子来帮助大家理解:

A、求点击一个大checkBox,其余3个小的都选到,如果那3个没有全选,大checkBox就不会勾选。
反证法.png
B、求 素数(质数):

除了1和他自己本身,不能被别的数字整除
怎么证明数字n是不是素数?
* 从2开始,到n-1结束,如果都不整除,就是素数

例如:判断 17 是不是素数
// 通常假设法的步骤:
// 1 正面假设: 假设17是素数
    var flag = true;
    // 2 找出一个反例:只要找到2-16之间,有一个数字能够被17整除,17就不是素数
    for(var i = 2; i < 17 ; i++){
        // 尝试找到有一个数字,被17模能够整除
        if(17 % i == 0){
           // 找到反例了
           // 推翻假设
            flag = false;
            // 推翻假设之后,就没有必要继续证明了
            break;
        }
   }
    // 3 最后再来验证,假设是否仍然成立
    if(flag){
        //证明假设成立
        console.log("17是素数");
    }else{
        // 证明假设不成立
        console.log("17不是素数");
    }

冒泡排序

冒泡排序.png

this 的使用

this.png

闭包:

$RQYRDJC.png

例子2:


bibao.png

回调函数:

回调函数.png

回调函数例子:


回调函数的使用.png

回调函数:


b和fn2都是回调函数.png

堆和栈的区别:

堆栈.png
堆栈02.png
上一篇 下一篇

猜你喜欢

热点阅读