← Back to blog

JavaScript学习笔记

前端

JavaScript学习笔记

前世今生

JavaScript是一种嵌在浏览器中执行的脚本语言,目的是让静态页面能够变得“响应式”。譬如点一个按钮能够触发某些事件、对于某些输入进行限制、保存的时候进行表单校验等等,都隶属于JS的功能范围。

在三剑客中,HTML组成了页面的骨架,CSS对页面进行具体的修饰,JS让页面能够拥有逻辑处理的能力。

JS在刚诞生的时候叫做“LiveScript”,因为当时Java很流行,所以蹭了一下热度。随着 JavaScript 的发展,它已经成为了一门完全独立的语言,并且也拥有了自己的语言规范 ECMAScript。现在,它和 Java 之间没有任何关系。

如今,JS不仅可以在浏览器中执行,也可以在服务端执行,甚至可以在任意搭载了JS引擎的设备中执行,JS引擎有时也称作JS虚拟机,不同的JS引擎有着不同的称呼

  • V8——Chrome\Edge\Node.js中的JS引擎
  • SpiderMonkey——Firefox中的JS引擎
  • JavaSriptCore ——Safari浏览器中的JS引擎

JS能做什么

JS是一种安全的编程语言,它不提供对内存或者CPU的底层访问,因为它最初是为浏览器创建的,不需要涉及到这些功能。

JS的能力很大程度上取决于它运行的环境,例如Node.js支持允许JS读取\写入任意文件,执行网络请求等的含糊;浏览器中的JS主要用于与网页操作、用户交互和Web服务器相关的任务

  • 添加新的HTML对网页进行修改
  • 相应用户的行为,响应鼠标点击、指针移动、按键等等
  • 向远程服务器发送网络请求、下载和上传文件
  • 获取或设置cookie,向访问者提出问题或发送消息
  • 记住客户端的数据

JS不能做什么

为了用户的信息安全,在浏览器的JS能力是受限的,目的是方知恶意网页获取用户隐私信息

  • 不能读、写、复制和执行硬盘上的任意文件,它没有直接访问操作系统的能力;现代浏览器运行JS做一些文件相关的操作,但是都是受限制的。
  • 浏览器的同源策略会对不同URL的窗口进行限制

JS的上层语言

  • TypeScript 专注于添加“严格的数据类型”以简化开发,以更好地支持复杂系统的开发,由微软开发
  • Daft 是一门独立的语言,可以在非浏览器环境中运行,也可以被编译成JS,由Google开发
  • Kotlin 是一门独立的语言,编写出的应用程序可以在浏览器和Node中运行

JS的语言规范

JS基础

使用JS代码

内部使用JS代码

外部使用JS代码