JavaScript、jQuery、AJAX、JSON 这四个之间的关系？
===以下回答考虑到简单易懂，更多从使用角度来切入描述，并非从历史和严格的定义切入，严谨的答案参见上面===  有一天，你们人类不满足网页只是一些文字和图片的展示，希望页面上可以有更多功能。比如点击一个按钮，弹一个窗口或者改变页面上某些内容。 为了实现这种功能，就创造了一门脚本语言，逐步升级演化成了 JavaScript 这门语言。 JavaScript 为页面提供更多功能，是页面交互功能的基础语言。此外它的语言规范和引擎还被用于其他领域，比如 Node 等。 人类为了让自己页面功能更加丰富，使用了大量的 JavaScript，并且写了非常多的代码。这时候发现不同浏览器对 JavaScript 的支持程度非常不统一，而且原生 JavaScript 实现某些看起来很简单的功能都很麻烦。于是 jQuery 就把这些兼容性问题统一，并封装了大量的 API，可以让你非常简单就实现很多功能。 jQuery 屏蔽了浏览器之间的兼容性问题，针对常用功能封装了大量的 API，并支持插件机制，让你写 JS 的效率很高，质量很好。 简单的页面上的交互再次不满足人类的需求，比如一个资料填写表单，需要填写一个名称，这个名称还必须不能跟之前的重复。校验这个名称不能重复，就需要把数据提交上去，与服务器端数据交互的方法就是 form 提交表单。这时候需要用户填完所有的表单，点击『确定』之后提交校验。如果此时名称被占用就悲剧了。 解决这个问题的方案关键点在数据交互上面。最好的解决方案应该是输入完名字之后，就自动去吧数据发给后端，然后拿到结果并提示给用户，而不是统一提交。于是人类就想出了一套新的数据交互方案，即无刷新的异步请求，名字叫 Ajax。通过 Ajax 可以通过 JS 与后端接口进行数据交互，而不会影响当前页面。当接口返回『被占用』的时候，JS 在页面上给个提示就可以很好的实现了。 Ajax 技术提供了一种新的前后端数据交互方式，不需要刷新页面，而且不阻塞页面执行流程，异步的去请求去获取、交互数据。 一开始只是通过 Ajax 异步发一个请求，数据就是一个简单的用户名称，所以直接按照字符串发过去就好了。后来需要 Ajax 发送的数据越来越多，比如一整张表单。这时候就需要有一套规则来描述更复杂的数据，一开始估计就是用一些字符分割拼起来，再后来人类用 xml 来描述，发现解析还是挺麻烦的，于是就基于 JavaScript 的数据类型创造了 JSON 这种数据描述格式，很简单的就可以描述很复杂的数据。同时独立于语言，这样就可以在多种语言内使用。 JSON 用来描述前后端数据交互的内容格式，有了 JSON 这样的一套统一的描述规则，前后端解析数据的成本变低，使用非常简单。JSON 属于 JavaScript 的一个子集。 这就是上面几个关键词的关系和用途。