课程介绍
课程目录
课程介绍
课程目录

讲师介绍

  • 资深全栈开发工程师,中国HTML5产业联盟特邀嘉宾,曾任职金和软件等知名公司。对Web前端全栈开发技术、HTML5、数据库集群等有深入研究。曾参与大型分布式高并发互联网项目设计开发等工作,对于分布式应用架构设计、系统优化等经验丰富

  • 课程详情

    此课程为老马前端系列的JS高级部分,内容涵盖了JS高级的特性,比如:闭包、原型链、作用域链、执行上下文、执行上下文环境栈、正则表达式、异常处理、模块化演进等内容
     

    课程目录

     

    第1章JavaScript变量内存分析

     
    • 1 JavaScript高级课程内容介绍 00:05:54
    • 2 值类型和引用类型在内存的存储结构 00:11:28
    • 3 值类型和引用类型复制内存模型 00:12:18
    • 4 函数的值传递和引用传递 00:06:49
    • 5 函数的arguments详解 00:11:48
    • 6【案例】函数不定参数个数的max方法封装案例 00:09:13
    • 7 函数参数对象化封装 00:07:50


    第2章JavaScript函数的高级内幕

     
    • 1【难点】浏览器事件循环机制Event Loop   00:21:23
    • 2【重点】函数执行上下文ExcutionContext   00:22:58
    • 3 函数执行栈的内存变化演进  00:10:41
    • 4 【重要】函数执行上下文的生命周期及内部创建过程   00:28:57
    • 5 【重要】变量的作用域 00:14:27
    • 6 没有块级作用域00:06:57
    • 7 变量提升和函数声明提升(hositing)
    • 8 【案例】变量提升面试题目1
    • 9【案例】变量提升面试题目2
    • 10 【重点】作用域链
    • 11 函数的四种调用模式--对象方法调用模式
    • 12 函数的四种调用模式--构造函数调用模式
    • 13 函数的四种调用模式--函数直接调用模式
    • 14  函数的四种调用模式--call和apply调用模式
    • 15 【案例】函数的四种调用模式的面试题
    • 16 函数没有重载及如何模拟重载
    • 17 函数递归
    • 18 递归实现斐波那契数列
    • 19函数是一等公民及函数式编程
    • 20 函数式编程--数组的map方法
    • 21 函数式编程--数组的forEach方法
    • 22 函数也是对象及函数的属性和方法


    第3章JavaScript内存管理与垃圾回收

     
    • 1 JavaScript的GC垃圾回收机制
    • 2 垃圾回收场景使用优化


    第4章原型链与闭包【重点】

     
    • 1【重点】原型链基本链接关系
    • 2 【重点】构造函数的原型对象prototype
    • 3 【重点】构造函数的内部原型对象__proto__
    • 4 【重点】原型链全图及真正的原型链
    • 5 闭包的概念及深入理解什么是闭包
    • 6 匿名自执行函数与模拟块级作用域
    • 7 【重点】循环注册Dom事件的典型错误及解决办法
    • 8 setTimeOut及闭包的应用
    • 9 闭包的缺点


    第5章JavaScript面向对象继承

     
    • 1 工厂模式创建对象及优缺点
    • 2 工厂模式创建对象的内存分析
    • 3 构造函数模式创建对象
    • 4 原型模式创建对象
    • 5 经典组合创建对象模式
    • 6 稳妥构造函数创建对象模式
    • 7 【继承】原型继承模式
    • 8 原型继承模式的内存分析及优缺点
    • 9【继承】经典组合继承模式
    • 10【继承】原型式继承模式
    • 11【继承】寄生继承模式
    • 12【继承】经典寄生组合继承模式
    • 13 闭包模拟私有变量


    第6章模块化演变

     
    • 1模块化演变(上)崩溃的全局污染
    • 2 模块化演变(下)原生解决模块化的方案


    第7章正则表达式

     
    • 1 正则表达式的元字符和限定符
    • 2 贪婪模式和括号的应用
    • 3 贪婪模式和非贪婪模式补充
    • 4 JS中的正则对象及test方法
    • 5 正则的exec方法全解析
    • 6 字符串中的方法中的正则应用
    • 7【案例】字符串的replace日期替换$1高级应用
    • 8 【案例】给字符串添加双引号


    第8章JavaScript的异常处理

     
    • 1 js异常处理的方式和自定义抛出异常