开课吧前端1期.阶段1:初识ES6和ES6兼容性和新特性

1、 ECMAScript和JavaScript 关系
  • ECMA是标准,JS是实现   
    • 类似于HTML5是标准,IE10,Chrome谷歌,FireFox火狐都是实现
    • 换句话说,将来也可能有其他,XX某某Script来实现 ECMA标准 
  • ECMAScript简称ECMA或ES   
    • 目前也只有JavaScript实现,所以可以理解ECMAScript == JS
  • 目前版本
    • 低级浏览器主要支持ES 3.1
    • 高级浏览器正在从ES 5 过度到 ES 6
 
2、历史版本

  •  96年推出了1.0版本,标志着JavaScript已经稳定了,Netscape网景接手了,提交给了ECMA组织,ES出现
  •  ES从正式出来被接受,是从1999.12,  ES 3.0出来
  •  ES3.1 是用的相对比较多的一个版本
  •  2011年ES成为ISO国际标准,沿用了好长时间
  • 比较关键版本,ES5.1是事实上的标准,用的比较多,和3.1版本区别不大。然后ES6.是15年诞生的

 

3、ES6兼容性和新特性

 

    

  • ES6(或称为:2015) 
    • IE低版本肯定不支持,至少 IE10+ 版本以上
    • Chrome, FireFox , 移动端,NodeJS    这些环境基本上都支持
    • 那么如何去支持旧版本的IE 7/8/9
      • 如何去支持旧版本 (可以编译转换,两种办法)
        • 在线转换 【每次都得转换,用户慢】 babe == browser.js 
        • 提前编译
          • 个人推荐提前编译,因为在线转换每次用户打开页面都需要花时间,表现每当打开页面就卡一下

3.1、兼容性体验

   babel == browser.js   这个2个是同一个东西

<!DOCTYPE html>
<html>
  <head>
	<meta charset="utf-8">
	<title></title>
	<script src="browser.js" charset="utf-8"></script>
	<script type="text/babel">
		let a=12;
		let b=5;
		alert(a+b)
	</script>
  </head>
  <body>
 
  </body>
</html>

  上面的HTML代码,在IE9无法使用,使用了let变量,引入了babel 库【browser.js】进行转换,需要指定类型 type="text/babel",直接在线编译,页面花费的时间也比原来长了些【页面滚了下需要时间去编译】。

  • 学习期间建议Chrome谷歌浏览器为主,不推荐babel 转换学习
    • 课程掌握之后,会很具体的如何让ES6用在所有的浏览器上,不管IE,火狐,见没见过的浏览器等。

 

 

4、ES6特性

 ES6到底有什么东西,至于反复的去提到它。

  1. 变量
  2. 函数
  3. 数组
  4. 字符串
  5. 面向对象
  6. Promise  
    1. 很不错的串行化修改方式,异步交互
  7. generator
    1. 将同步操作改成异步操作,generator是对Promise  一种封装
  8. 模块化

 
5、总结

   稍微讲解了ES的历史和兼容性,以及如何在一些低版本里面怎么用(当然没说完,差远了),还有ES6的特性。基本上这节课是一个过度,知道接下来要怎么玩了。

 

posted @ 2023-09-02 10:52  兔兔福  阅读(58)  评论(0编辑  收藏  举报