前言
近几年是前端大发展的时期,Vue
,React
,Babel
,Webpack
,Node.js
,TypeScript
等技术与概念层出不穷,着实让人眼花缭乱。
不过对于小白来说,刚入门时可以会被这些概念弄晕,而这些概念与JavaScript
又是什么关系?在这篇文章,为你梳理一下上述的前端概念到底是什么以及它们之间的关系!
了解一下JavaScript语言
JavaScript
是一门轻量级
脚本语言,之所以说轻量级
,是因为JavaScript
并不是像C
,Java
等语言一样,用于编写大型项目的。
JavaScript
最开始被设计出来,是为了能让HTML网页
”动起来“,因此JavaScript
是非常简单的,其核心语法非常精简,只包括两个部分:基本的语法构造(比如数据类型、操作符、控制结构、语句)和标准库(如Array
、Date
、Math
等),而更复杂的功能则依赖于宿主所提供的API
,比如Web浏览器提供的各种Document操作。
“
PS:JavaScript跟Java没有任何关系,刚开始叫LiveScript,后来为了更好地推广,才蹭Java的名气,改名为JavaScript。
”
JavaScript与浏览器之间的关系
最开始,JavaScript
被设计于运行在浏览器,浏览器是JavaScript
脚本的宿主,因此JavaScript
的脚本可以跟HTML脚本混在一起,由浏览器解析执行,而不需要编译。
在现代浏览器(如Chrome,Foxfire)中,都有一个专门解析JavaScript
脚本的引擎,比如在Chrome浏览器,这种引擎中v8
。
在浏览器中,JavaScript
脚本可以获得以下几种能力:
-
浏览器控制类:操作浏览器,比如获取cookie和本地存储。 -
DOM类:操作网页的各种元素,如修改网页样式,响应鼠标的点击,指针的移动等。 -
Web类:实现互联网的各种功能,比如发请Ajax请求。
JavaScript与Node.js之间的关系
除了在浏览器上执行之外,JavaScript脚本也可以在Node.js上运行,Node.js是一个运行在服务器上的基于Chrome V8引擎的JavaScript脚本运行环境。
提供了类似其他语言的从网络读取、访问数据库或文件系统等操作,因此基于Node.js,前端开发人员也可以像Java,PHP,Go等语言一样编写服务器端的服务。
入门案例:HellWorld
下面我们通过一个Hello World的案例,让你对JavaScript
有一个基本的了解
方式一:有<script></script>
标签写JavaScript脚本
你可以你可以在你电脑的任何目录下,创建一个以.html
为后缀的文本,比如index.html
,然后在该文档中写下如下的代码:
index.html
<!DOCTYPE html>
<html>
<body>
<script>
alert('Hello, world!');
</script>
</body>
</html>
方式二:通过引入外部脚本来实现
使用这种方式,我们需要多创建一个index.js
的文件,并将JavaScript脚本写在这个文件当中,这种也是平常开发项目最常见的方式,因此在大型Web项目中,JavaScript脚本往往很长,需要专门存在在单独的文件当中,这种文件一般以.js
为后缀。
index.js
alert('Hello, world!');
index.html
<!DOCTYPE html>
<html>
<body>
<script scr="./index.js"></script>
</body>
</html>
ECMAScript和JavaScript
ECMAScript
是JavaScript
的语言规范,也就是说,JavaScript
是按照ECMAScript
规范开发出来的一门语言。
在学习前端时,常常会见到ES5
和ES6
这两个概念。
ES5
表示ECMAScript
的第五个版本。
ES6
是一个泛指,含义是 5.1 版以后的JavaScript
的下一代标准,是ES2016
,ES201
7,ES2018
…等以年份发布版本的泛称。
框架与库:JQuery、Vue和React
JQuery
JQuery
是一个Javascript
库,帮我们封装了很多的原生的Document
操作和Ajax
请求,提供更为方便的Api
,但实际与Vue.js
和React
相比,JQuery
和使用原生Document
操作一样,都是需要开发人员自己操作HTML
的Document
。
React
用于构建用户界面的JavaScript
库,与JQuery相比,React专门于UI层,因其响应式设计,因此能根据数据变化,自动渲染UI,使用React开发前端复杂项目时,也可以使用其组件
将复杂项目执分,方便代码复用。
Vue.js
Vue.js
是一套用于构建用户界面的渐进式框架,其核心库只关注视图层,这点与React
是相同的,无论是响应式设计还是组件,Vue.js和React是类似的。
Webpack
Webpack
是一个前端资源加载/打包的构建工具。它将根据模块的依赖关系进行静态分析,然后将这些模块按照指定的规则生成对应的静态资源。
在Webpack
之前,还有gulp
和grunt
等编译打包的构建工具,另外也有由Vue.js
团队亲自打造的下一代开发与构建Vite
。
Babel
Babel
是一个JavaScript
编译器,这里的编译与C语言的编译不同,这里的编译是指将使用ES6语法编写的代码转为ES5语法规范,因此并不是所有的浏览器都支持ES6
语法规范。
TypeScript
TypeScript
是微软开发的一个开源的编程语言,通过在JavaScript
的基础上添加静态类型定义构建而成。不过使用TypeScript
编写的脚本不能在浏览器直接运行,而是要通过TypeScript编译器
或Babel
转译为JavaScript
代码。
小结
通过上面的讲述,我想你对纷繁的前端概念应该有一定认识和了解,希望通过上述讲解,能让你对前端有更好的了解!
原文始发于微信公众号(程序员读书):前端小白必备的JavaScript基础知识
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/39084.html