美文网首页
IT兄弟会全栈工程师01班第二课课堂笔记

IT兄弟会全栈工程师01班第二课课堂笔记

作者: 疯范儿 | 来源:发表于2016-08-06 10:56 被阅读0次

回顾总结第一课重点内容:

指令式编程与函数式编程的差异,指令式编程需要我们有计算机一样的头脑,我们大脑要像CPU一样,我们要像计算机一样思考,这样我们能写出指令式编程的程序来。而函数式编程是希望计算机像人一样思考,这样的话我们就可以很平滑的和计算机对话了。因为这两种类型语言的思维差异的跨度非常大,因此如果以后在指令式编程和函数式编程之间进行切换的话,需要具备相应的思维方式。

一.训练指令式编程

本课重点:怎么样把一个人训练得像计算机一样思考,能够用计算机的逻辑思维去设计我们的软件。

1.编程语言的交互模式是指令式编程的根本,最基础的指令是CPU的指令,CPU的指令现在都是定长指令。计算机程序指令不等于CPU指令。因为CPU的这种定长指令分的太细了不适合程序员直接操作,但是编程语句是可以的。在交互模式下任何一条独立的语句都会立刻被执行。

2.了解指令式编程的语句结构特点:顺序、分支、循环、函数。

顺序:从上到下依次执行。

分支:会按条件改变执行路径,满足条件就进入执行括号里的代码段,不满足条件就会绕过括号中的代码段。

循环:最早的循环语句是if+goto完成的,给一个条件满足就会跳到之前指定的代码位置进行执行,不管中间有多少代码只要条件成立就会跳到指定点执行,如果条件一直满足就会一直循环执行下去不会跳出去,这就是CPU的思维方式。循环结构如果要跳出分为两种情况:第一种是让条件从满足条件开始起直到变得不满足条件,第二种就是在循环外再指定一个跳转点,在循环内部再设立个条件如果成立跳到此循环外的设置的跳转点。从这两种循环的执行方式衍变到现在的while语句循环、for语句循环等循环结构。

函数:函数是指令式编程的另一个特点,也会根据条件改变程序执行路径。程序执行时遇到定义声明的函数时会直接跳过这个代码段,在之后的位置如果遇到调用函数,就会跳到这个函数定义声明的位置然后执行其中的代码段,如果在执行函数内部遇到return就代表要返回,返回到函数的调用处,返回过程还会将return后面跟的值也带到函数调用处。

运用以上这些指令式编程的特点进行练习设计出我们想要的程序。

二.JS中一些需要重点注意的知识点

1.局部变量和全局变量

局部变量:在函数内部定义,并且仅在函数中有效的变量就是局部变量(形参也是)

全局变量:在页面中声明的变量就是全局变量.

2.内部函数

1.内部函数不可以在函数外部调用(局部变量)
2.调用过外部函数之后,内部函数依然不可以在函数外部调用(局部变量)
3.内部函数可以在函数内部调用,声明函数不区分先后顺序,匿名函数必须在定义之后

3.变量的作用域链条

就是在函数外部定义的变量有效范围会想链条一样逐渐向内部函数传递,这就是函数的变量作用域链

4.匿名函数的特征

格式:var 变量名 = function(){
        函数体
        [return语句]
    };
  1. 关于函数体和函数的参数部分和声明函数没有任何区别.
  2. 调用匿名函数必须在匿名函数赋值之后才可以调用,而声明函数由于预先加载,调用不分先后
  3. 匿名函数调用 使用 变量名()的方式,声明函数采用 函数名() 的方式

5.闭包

特征:将函数内部的函数返回到函数外部,以便于可以在函数外部通过返回的内部函数访问所有局部变量.

bibao.jpg

实现方式:

一. 通过全局变量实现

    <script>
        //G区域
        
        //闭包方法1  声明全局变量N
        var N;  
        //页面级别的函数
        function F(){
            //局部变量
            var b='局部变量b';  
            //内部函数
            var c = function(){
                //console.log(b);
                //return局部变量
                return b;
            }
            //将c函数赋值为N全局变量
            N=c;
        }
        //a变量
        var a = '页面级别的全局变量';
        //调用函数F()
        F();
        //在函数外部访问局部变量
        var result=N();
        console.log(result);
    </script>

二.通过返回值实现

    <script>
        //G区域
        //页面级别的函数
        function F(){
            //局部变量
            var b='局部变量b';
            //内部函数  
            //为F函数返回一个结果
            return function(){
                //console.log(b);
                //return局部变量
                return b;
            }
        }
        //a变量
        var a = '页面级别的全局变量';
        //调用函数F()
        var N= F();
        //调用N
        var result=N();
        console.log(result);
    </script>

注意:不要随便使用闭包结构.闭包产生全局变量,不会被系统回收.

6.自执行函数

自执行函数:无需调用就可以执行的函数就是自执行函数.

格式:

(function(形参,形参..){

    函数体中的代码.

})(参数,参数...)

作用:自执行函数的作用就是可以为页面划分多个区域,由于区域都是在函数中,收到局部变量限制,所以每个自执行函数可以认为是一个单独的页面.变量之间互不冲突.(自执行函数只可以执行一次)

相关文章

  • 第一天 全栈工程师

    兄弟会-全栈工程师 兄弟会-全栈工程师 第一天笔记 markdown文档编写 全栈工程师: 网站服务器搭建+数据设...

  • 第二天 指令式编程、抽象思维

    兄弟会-全栈工程师 第二天笔记 指令式编程 NodeJS 运行于服务器端的JS程序 抽象思维 JS语法特性 例如:

  • IT兄弟会全栈工程师01班第二课课堂笔记

    回顾总结第一课重点内容:指令式编程与函数式编程的差异,指令式编程需要我们有计算机一样的头脑,我们大脑要像CPU一样...

  • 2016年8月4日学习笔记

    安装环境概要 课后配置环境 学会学习笔记(markdown) 全栈工程师 全栈工程师需要做什么? 前端分为两类 原...

  • 辉达IT-全栈的定位到底在哪里?

    全栈的定位在哪里-辉达IT为您解读深层全栈内容 全栈工程师的定义与市场价值 全栈定义 全栈工程师,也叫全端工程师(...

  • 全栈工程师书单

    全栈工程师书单 《全栈工程师的自我修养》—余果 扩展书单 什么是全栈工程师 《黑客与画家》《专业主义》...

  • 扯淡之全栈工程师

    即将奔跑在创业路上的全栈工程师 混日子的全栈工程师???具有全栈思维仅仅是开始还需要有全栈解决方案即使有了全栈解决...

  • 2018年,为什么你该学 M-E-A-N 全栈?

    即便你没有听说过全栈技术,想必听说过全端工程师吧。 不错,全端工程师是全栈工程师的一个分支;全栈技术(Full S...

  • 兄弟会全栈工程师第一天学习笔记

    全栈工程师第一天学习笔记 全栈工程师的概念 1.从搭建服务器、数据库、开发、运行、维护 2.掌握多种编程语言进行混...

  • 想成为全栈工程师,要做到哪几点?

    简介: 如何成为一名全栈工程师?需要具备哪些技术积累?成为全栈工程师有哪些好处?希望本文能为期望成为全栈工程师的同...

网友评论

      本文标题:IT兄弟会全栈工程师01班第二课课堂笔记

      本文链接:https://www.haomeiwen.com/subject/lfyksttx.html