课程链接

1. 立即执行函数

  • 特点:执行结束,立即销毁;独立作用域
  • 执行符号()只能跟在表达式后面,不能放在函数声明后
  • 分号可以写在前面/后面
  • document为传入实参,doc为形参
;(function(doc){...const init = ()=>{bindEvent()}function bindEvent(){obj.addEventListener('click', onClick, false)}init()
})(document)

2. init函数

  • 模块初始化函数init管理模块执行
  • 用函数专门去绑定事件处理函数
  • 在init中执行绑定事件处理函数
  • 让功能性的东西能复用

3. webpack 自动化解决方案

3.1 npm init后生成package.json文件

{"name": "calculator-webpack","version": "1.0.0","description": "webpack study","main": "index.js","scripts": {"test": "echo \"Error: no test specified\" && exit 1"},"repository": {"type": "git","url": "https://gitee.com/ying9481/calculator-webpack.git"},"keywords": ["webpack"],"author": "hyy","license": "MIT"
}

3.2 开发环境安装包

$ cnpm i -D webpack webpack-cli webpack-dev-server
babel-loader@7 babel-core babel-preset-env
babel-plugin-transform-runtime babel-plugin-transform-decorators
babel-plugin-transform-decorators-legacy sass-loader node-sass
css-loader style-loader ejs-loader html-webpack-plugin

3.3 path模块

path.resolve的每个参数,从左至右看成cd操作理解

3.4 use的执行顺序

从下到上、从右到左 → 先经过css-loader,再到style-loader

1、作用①:压缩代码,混淆js代码;
2、作用②:浏览器不支持ES5以上的语法,webpack可以安装一系列依赖包将之翻译成ES5
3、作用③:将less、sass编译成css
4、所需依赖:

  1. 【三大件】webpack、webpack-cli(脚手架)、webpack-dev-server(开发者服务器插件)
  2. 【六件套】处理ES6 ES7… 装饰器:
    . babel-loader@7、babel-core、babel-preset-env (babel8版本和babel-core不兼容)
    . babel-plugin-transform-runtime
    . babel-plugin-transform-decorators、 babel-plugin-transform-decorators-legacy
  3. 【四大件】处理样式sass:
    . sass-loader、node-sass、css-loader、style-loader ( postcss-loader autoprefixer )
  4. 处理模板:ejs-loader
  5. 处理HTML: html-webpack-plugin

5、安装指令:

  • –save-dev 简写 -D (安装在开发环境下的,线上不跑)
  • –save 简写 -S (安装在生成环境下的,线上代码也需要的,如ejs)

6、配置安装包 webpack.config文件
特*:所有plugin结尾的依赖,一般要require导入、loader则不用
plugins: [ new HtmlWebpackPlugin( { } ) ]
7、 用命令跑配置文件webpack.config,在package.json的script里(跑脚本)
8、webpack的path模块 解决绝对路径
9、webpack上线时,mode变为production
10、export{ }用到了结构赋值

4.

  • addEventListener
  • 立即执行函数
  • 绑定属性,getAttribute
  • 装饰器
  • 组件化(类的形式)
  • proxy

ES5程序设计转ES6 笔记相关推荐

  1. ES6笔记(1) -- 环境配置支持

    系列文章 -- ES6笔记系列 虽然ES6已经发布一年多了,但在各大浏览器之中的支持度还不是很理想,在这查看 ES6新特性支持度 Chrome的最新版本浏览器大部分已经支持,在Node.js环境上支持 ...

  2. ES6笔记(4)-- Symbol类型

    系列文章 -- ES6笔记系列 Symbol是什么?中文意思是标志.记号,顾名思义,它可以用了做记号. 是的,它是一种标记的方法,被ES6引入作为一种新的数据类型,表示独一无二的值. 由此,JS的数据 ...

  3. 《POSIX多线程程序设计》读书笔记

    <POSIX多线程程序设计>读书笔记 一.      概述 1.    一个UNIX进程可以理解为一个线程加上地址空间.文件描述符和其他数据: 2.    多个线程可以共享一个地址空间,而 ...

  4. 《python 程序设计》读书笔记

    <python 程序设计>读书笔记 笔者对于csdn博客的运用还是不太熟练,希望大家能够见谅.以后会不断提升写作的手法.这篇博客是我在学习python程序设计时候的笔记.我也是选择学习了大 ...

  5. 《JavaScript高级程序设计》读书笔记 -12.1 window对象

    <JavaScript高级程序设计>读书笔记 -12.1 window对象 12.1 window对象 12.1.1 Global作用域 12.1.2 窗口关系[不是很懂] 12.1.3 ...

  6. 理解 ES5, ES2015(ES6) 和 TypeScript

    理解 ES5, ES2015(ES6) 和 TypeScript 本文转载自:众成翻译 译者:kayson 链接:http://www.zcfy.cc/article/1332 原文:https:// ...

  7. Windows程序设计_Chap02_Unicode_学习笔记

    Windows程序设计_Chap02_Unicode_学习笔记 ――By: Neicole(2013.05.24) 01. 开篇 <Windows程序设计>的第2章,主要内容为Unicod ...

  8. 《JavaScript高级程序设计》读书笔记 【8章~】【持更】

    文章目录 上一篇:<JavaScript高级程序设计>读书笔记 [1~7章] 8. BOM 8.1. window对象 窗口位置 窗口大小 打开窗口 间歇调用与超时调用 系统对话框 8.2 ...

  9. 深入理解ES6笔记(九)JS的类(class)

    主要知识点:类声明.类表达式.类的重要要点以及类继承 <深入理解ES6>笔记 目录 ES5 中的仿类结构 JS 在 ES5 及更早版本中都不存在类.与类最接近的是:创建一个构造器,然后将方 ...

最新文章

  1. [数据加密]GIS空间数据水印信息隐藏与加密技术方法[转]
  2. Angular2组件与指令的小实践——实现一个图片轮播组件
  3. 密码学系列之:碰撞抵御和碰撞攻击collision attack
  4. 【ArcGIS Pro微课1000例】0002:ArcGIS Pro 2.5二三维联动显示
  5. java ee maven_针对新手的Java EE7和Maven项目–第1部分–简单的Maven项目结构–父pom...
  6. 【数据结构与算法】二叉堆与二叉搜索树的区别
  7. 信息学奥赛一本通 1123:图像相似度 | OpenJudge NOI 1.8 06:图像相似度
  8. Java 根据枚举的名字得到枚举的实例
  9. java xml stax_Java StAX解析器示例以读取XML文件
  10. [LeetCode] Minimum Window Substring 散列映射问题
  11. [LeetCode] Spiral Matrix II
  12. 在深度学习时代如何用 HowNet 搞事情 | 讲座笔记
  13. cad巧用插件自定义填充图形
  14. 伪原创文章需要注意的地方有哪些
  15. Vue+Echarts地图消失(高度变成0)的完美解决方案
  16. Android UI 字体库(.ttf文件)的使用 -- xml方式
  17. WMCTF-RE--WMware
  18. web自动化测试之Selenium基础 — XPath定位大全
  19. tf.matmul - 矩阵乘法
  20. BBR 拥塞控制算法blog笔记

热门文章

  1. python语言的编程模式_一种基于Python语言的EDA开发平台及其使用方法与流程
  2. Excel表Ctrl+v和Ctrl shift+v有什么区别_Ctrl键与10个数字键,26个字母键的组合应用技巧解读...
  3. oracle 日期6,EF 6与Oracle - 如何加入日期字段?
  4. kali linux解密栅栏密码,最详细bugku加密小白解法---持续更新!
  5. c语言获取系统剩余内存_C语言编程中的“堆”和“栈”七大不同之处
  6. iOS中POST请求
  7. 版本控制--搭建 GitLab 服务器
  8. shell字体颜色应用
  9. spring-注解---IOC(3)
  10. [Shell] swoole_timer_tick 与 crontab 实现定时任务和监控