JavaScript 不仅可以在浏览器中执行,也可以在服务端执行,甚至可以在任意搭载了 JavaScript 引擎 的设备中执行,浏览器中嵌入了 JavaScript 引擎,有时也称作“JavaScript 虚拟机”,不同的引擎有不同的“代号”:
① V8 —— Chrome、Opera 和 Edge 中的 JavaScript 引擎。
② SpiderMonkey —— Firefox 中的 JavaScript 引擎。
③ Chakra —— IE中的 JavaScript 引擎。
④ “JavaScriptCore”、“Nitro” 和 “SquirrelFish” 用于 Safari,等等。
( 如果“V8 支持某个功能”,那么我们可以认为这个功能大概能在 Chrome、Opera 和 Edge 中正常运行。)
引擎很复杂,但是基本原理很简单:
引擎 读取(“解析”)脚本 ===》将脚本转化(“编译”)为机器语言 ===》机器代码快速地执行
① 在网页中添加新的 HTML,修改网页已有内容和网页的样式。
② 响应用户的行为,响应鼠标的点击,指针的移动,按键的按动。
③ 向远程服务器发送网络请求,下载和上传文件(所谓的 AJAX 和 COMET 技术)。
④ 获取或设置 cookie,向访问者提出问题或发送消息。
⑤ 本地存储
① 网页中的 JavaScript 不能读、写、复制和执行硬盘上的任意文件。它没有直接访问操作系统的功能。
② 不同的标签页/窗口之间通常互不了解。-----同源策略
③ JavaScript 可以轻松地通过互联网与当前页面所在的服务器进行通信。但是从其他网站/域的服务器中接收数据的能力被削弱了。这也是为了用户的信息安全。
与 HTML/CSS 完全集成。
简单的事,简单地完成。
被所有的主流浏览器支持,并且默认开启。
JavaScript 是将这三件事结合在一起的唯一的浏览器技术。这也是为什么它是用于创建浏览器界面的使用最广泛的工具,JavaScript 还可用于创建服务器和移动端应用程序等。
① IDE: Vscode(Visual Studio code)免费、webStorm收费 两者都可跨平台,注意Vscode要与Visual Studio区别开,两者不同,后者是收费,强大的window专用编辑器,Visual Studio Community 是他的免费版本
② 轻量编辑器:更适用于单个文件的编辑,但由于它有各种各样的插件,可以使它和IDE功能上大差不差,两者没有严格的界限(Sublime Text(跨平台,共享软件、Notepad++(Windows,免费)、Vim 和 Emacs 等)
快捷键:
① 安卓:F12打开控制台 、 Shift+Enter完成控制台编辑的换行
② Mac :
谷歌浏览器 Cmd+Opt+J 打开控制台
safari浏览器也一样使用Cmd+Opt+J,需要先开启“开发菜单”,打开“偏好设置”,选择“高级”选项。选中最下方的那个选择框: