1 前端演进
1.1 前端三要素
html
超文本标记语言(Hyper Text Markup Language),标准通用标记语言下的一个应用。HTML 不是一种编程语言,而是一种标记语言 (markup language),是网页制作所必备的。“超文本”就是指页面内可以包含图片、链接,甚至音乐、程序等非文字元素。超文本标记语言(或超文本标签语言)的结构包括“头”部分、和“主体”部分,其中“头”部提供关于网页的信息,“主体”部分提供网页的具体内容。css
层叠样式表,也是一门标记语言。不可以自定义变量、不可以引用,主要缺陷有:
1 语法不够强大,无法嵌套书写,导致很多重复的工作量
2 没有变量和复用机制,维护工作量大
为了解决这类问题,前端开发人员会使用一种预处理器的工具(一种进行web页面样式设计,通过编译器转化为正常的组件),减少冗余代码,提高代码的可维护性和开发效率。
-
js
javascript 是一门弱类型脚本语言,其源代码在发往客户端运行之前不需要编译,而是将文本格式的字符代码发送给六卡其由浏览器解释执行。
目前我们普遍使用的是ECMAScript 5.01.2 前端框架演进
jquery:入门学习的,大家熟知的js框架,优点是简化了DOM操作,缺点是DOM操作太频繁,影响性能,更多使用它是为了兼容ie6、7、8。
Angular:Google 收购的前端框架,由一群java程序员开发,其特点是将后台的MVC模式搬到了前端,并增加了模块化开发的理念,与微软合作,采用typescript语法开发;对程序员友好,对前端程序员不友好;最大的缺点是版本前后不兼容。
React:Facebook出品,一款高性能的JS前端框架,特点是使用虚拟DOM,减少真实的DOM操作,提高前端渲染效率,但是学习使用成本较高。
Vue:一门渐进式js框架,综合了模块化和虚拟dom 的优点。2 ES6的特点
2.1 块级作用域 关键字let,常量const
2.2 对象字面量的属性赋值简写
2.3 赋值结构
2.4 函数参数
2.5 箭头函数
2.6 字符串模板
2.7 迭代器
2.8 生成器
2.9 Class
2.10 Modules
2.11 Proxies
2.12 Symbols
2.13 Promises
2.14 其它API
3 ES6 与 ES5 的区别
3.1 默认参数
ES6中,可以直接在函数的入参后面加上默认参数值,简单粗暴。
3.2 模板对象
在拼接字符串时,使用``字符,配合${}实现字符串拼接与多行字符串的的方便性。
3.3 解构赋值
3.4 箭头函数
类似于lambda表达式
3.5 Promises
异步模拟同步
3.6 let 与 const
使用块级作用域与不可变常量,已经接近于后端了。
3.7 Classes
使类的继承变得简单易用
3.8 模块
4 说明
我是后端出身,非专业前端,所以我不会耗费太多的精力去把前端的东西研究特别透。本文的很多特性,是我看过一些视频和简书后简单整理的。只是对es6的一个简单介绍。后续我会针对于vuejs 详细学习。