🌟JavaScript 系列目录
本文目录
🌟Tip
本文是 JavaScript 系列教程的第一篇,主要简述了 JavaScript
编程语言的历史、特点,以及进行 JavaScript
学习的一些准备,比如编辑器和浏览器控制台的认识。
🌟JavaScript 简介
笔记来源于对现代 JavaScript 教程的学习,可以上网搜索,这个教程很有名。
✨JavaScript 简介
✨什么是 JavaScript ?
JavaScript 写出来的程序被我们称之为“脚本”
它可以被执行在任何的网页当中,所以 JavaScript 是一门可以用于网页开发的语言,在开发我们的网页的时候可以直接编写 JavaScript 的代码,在网页打开的时候 JavaScript 的代码就会自动执行。
至于为什么叫做 JavaScript,很简单:就是为了蹭 java 的热度而已。
✨为什么浏览器可以执行 JavaScript 的代码?
因为浏览器中打在了 JavaScript 的执行引擎 V8。
所以很简单我们可以大胆地推测,只要有了 V8 引擎我们就可以执行 JavaScript 的代码?
确实如此哈。
所以 js 的代码理所当然地也可以在服务端运行,只要有 js 的运行环境即可。
当然 JavaScript 的引擎不止 V8 一家,但是目前考虑到 Chrome 的市场占有率,我们还是使用 V8 作为 js 的解析器。(比如 Firefox 的引擎叫做 spiderMonkey)
目前市面上主流的浏览器都是使用的谷歌家的引擎,也就是 V8,比如 edge 、 Chrome 、opera 等等。
✨关于引擎是如何工作的?
引擎的工作流程很复杂,但是基本的原理很简单。
- 引擎读取我们编写的 JavaScript 脚本
- 引擎将脚本编译为机器语言
- 计算机执行相关的代码即可
引擎可以对流程中的每一个阶段进行优化,他甚至可以在编译的脚本运行的时候监视它,分析流经该脚本的数据,并进一步分析优化机器代码。
机器语言(machine language)是一种指令集的体系。这种指令集称为机器代码(machine code),是计算机的CPU或GPU可直接解读的资料。
✨Javascript 可以做什么?
- 在网页中添加新的 html ,获取网页的节点来更改网页的内容或者样式;
- 响应用户的行为,响应鼠标的点击,指针的移动,或者按键的按动;
- 像远程服务器发送网络请求,下载和上传文件(ajax 和 comet)
- 获取或者设置 cookie,向访问者提出问题或者发送消息
- 记住客户端的数据(本地存储)
…
✨Javascript 不能做什么?
- 网页中的 JavaScript 代码不能够读写磁盘上的任意文件,它没有直接访问操作系统的功能;现代浏览器允许用户进行一些文件方面的操作,但仅仅是当用户做出特定的行为之后,javascript 才会执行相应的代码,操作这个文件;
- 不同的标签页面之间是无法联系的。仅有的一点联系可能是你可以通过一些 js 的代码可以来打开一个新的网址,但是随后这个网址后前一个网址之间就没有任何的关心了;如果打开的是同一个网址(协议、域名、端口号都相同),那么可以认为和原来的网站是同一个,但是如果是不一样的网站,就和原来的网页一点关系都没有了。这就是 js 的同源策略,为了解决同源策略,两个标签页面必须都包含一些处理同源策略问题的代码,并允许进行数据交换,这样就可以解决同源问题;本质上同源策略是为了安全考虑,比如一个我打开了bilibili 和 YouTube 这两个页面,但是我不能让 bilibili 从 YouTube 来获取信息,这样会造成安全方面的问题;
- JavaScript 可以轻松地通过网络与当前页面所在的服务器进行通信,但是从其他的网站中接受数据的能力被削弱了,尽管可以,但是需要来自远程服务器的明确协议(在 http header 中)。这也是为了信息安全。
✨JavaScript 上层语言
基于 JavaScript ,出现了许多新的语言,但是最终这些语言还是会被编译为 JavaScript。
- coffeescript
- Typescript
- flow
- dart
- brython
- kotlin
🌟代码编辑器
学习本教程需要编写大量的程序,可以自己选择合适的代码编辑器。
✨IDE
集成开发环境:
- vscode
- webstorm
✨轻量编辑器
- sublime
- vim
🌟开发者控制台
现在的浏览器都内置了开发者控制台,比如 Google
,你可以按下 F12
,就可以打开控制台,你可以在控制台中书写简单的代码,然后按下回车键,代码就会执行。
当然,你也可以书写多行代码,在书写第二行的时候,使用 shift + enter
换行。