前端技术的发展方向

框架

jQuery(库)
Angular
React
Vue

框架:为解决某种问题而设计的具有一定约束性的开发结构
-解决某种问题,而不是所有问题
-具有约束性,有它自己定义的规则

使用某个框架的同时要了解这个框架背后的逻辑,怎么产生的,解决了什么问题

从使用框架进行项目开发来看需要掌握什么

语言基础

无论什么语言的框架(JAVA,PHP,JS……)都会需要对数据进行操作,所以必须得清楚各种不同语言对数据进行操作对方法
什么是数据?怎么操作?
变量、数据类型、运算符……
得到的数据能做什么?如何使用数据?
流程控制

/**
  运算符
      [运算符优先级](https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/Operator_Precedence)
  类型转换规则

  ! : 隐式类型转换  对象转boolean为真

  [] == !true
  [] == false

  Number([]) => 0

  0 == false
  0 == 0 => true
 */
console.log( [] == ![] ); // true

/**
  [] == !true
  [] == false

  === 会先判断类型
 */
console.log( [] === ![] ); // false

框架只是为我们封装(实现)了它所关心(通用)的部分,而很多其他的(比如具体的业务/业务逻辑)框架就无能为力了,同时我们又会根据自己的具体业务逻辑进行封装
函数
函数、参数、返回值、作用域……
业务/业务逻辑:所谓的业务就是你想要完成的具体事情,业务逻辑就是完成这个事情的步骤条件等,比如“https://miaov.com/index.php/news/newsDetail/nid/378”

原生语言本身就是一个框架(最基础的),像前面数据类型、流程控制、函数都是它提供的,同时它也提供了一些常用的、有用的函数(对象)封装
内置对象(函数)
String、Number、Boolean
Array、Date、Math、Set、Map……
定时器

客户端网页API

比如DOM、Event这些,很多框架都有对应的封装处理,仍需要掌握
Event
实际上要操作的内容不止html和css,还有很多其他内容:
图形(canvas、svg、webgl)
音频(audio)、视频(video)
还要与服务器(一般提供数据服务)打交道
HTTP - web数据传输的基础
ajax - 异步数据请求
fetch - 新一代的ajax(HTTP)API