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代码