# 章序号/节序号/节/笔记序号 - Objective:解决什么问题 # 概念阐释 JavaScript是网页与移动开发中尤其重要的编程语言。JavaScript的语法来源于Java和C。 #### 历史由来 在90年代,网络大爆发初期,微软的IE浏览器与网景公司为了抢占市场份额,网景的Brendan Eich用10天的时间创建了一种轻量级脚本语言-Mocha(后更名为JavaScript)。 #### JS特点: 1. JavaScript 可以在 Web 开发的前端和后端中使用。 2. JavaScript 经过标准化,因此经常更新新版本。 3. JavaScript 与 HTML 和 CSS 集成容易。 4. JavaScript 允许网站具有交互性 5. JavaScript 提供了各种框架和库 6. JavaScript没有输入和输出的概念,它是一个需要有宿主环境运行的脚本(浏览器是一种宿主,Node.js的服务器环境是一种宿主) #### JavaScript中的数据类型 - [`Number`](https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Number)(数字) - [`String`](https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/String)(字符串) - [`Boolean`](https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Boolean)(布尔) - [`Symbol`](https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Symbol)(符号)(ES2015 新增) - [`Object`](https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Object)(对象) - [`Function`](https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Function)(函数,特殊的对象) - [`Array`](https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array)(数组) - [`Date`](https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Date)(日期) - [`RegExp`](https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/RegExp)(正则表达式) - [`null`](https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/null)(空) - [`undefined`](https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/undefined)(未定义) 还有一种内置的[`Error`](https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Error)(错误)类型。 #### JavaScript作为后端 - 21世纪初,像Facebook和Google这样的大型平台开始在后端服务器逻辑中使用JavaScript来**处理和响应前端请求**。 - JS后端具有可扩展性,JavaScript可以与其他语言集成以与数据库进行通信。 - [[Node.js]],或称为Node,是最流行的服务器端JavaScript版本之一。Node已被用于编写NASA、eBay等大型平台。 - 由于JavaScript可以按照非顺序执行程序[[JavaScript 异步编程]],因此Node可以用于创建可扩展的[[Web app]]、消息平台和多人游戏。这也是为什么Google Cloud和Amazon Web Service在部分服务中依赖Node的原因。 - 除了在Web上,JavaScript在跨平台应用中也有很大的存在。我们使用一些流行的独立桌面应用程序,如Slack、GitHub、Skype和Tidal。这些应用程序是使用名为**Electron.js**的JavaScript框架开发的。Electron非常适合制作需要在不同设备上运行的桌面应用程序,无论操作系统如何。 #### 版本 - 1995年创建网页设计脚本语言 - 1996年制定标准,称为ECMA - 1997年发布ECMA-262,第一版脚本语言叫做ECMAScript,缩写ES - 2015年发布ES6,最新版本 - 使用`let`和`const`关键字宣称 - 箭头函数语法 - 创建类 - 默认参数 - 异步操作 - [[面向对象编程OOP]] - [[🗃️ 卡片盒子/110 - 前端开发/Docusaurus/React]]等流行框架中使用 - 使用ES6语法实现模块 ![](http://image.harryrou.wiki/2023-06-24-CleanShot%202023-06-25%20at%2007.30.10%402x.png) # 举例子 # 类比、比较与对比 # 问题 # 问题答案 # 备注(经验集/错误集) - [Running JavaScript in the Browser Console]() - [中级教程:重新介绍JavaScript-MDN](https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Language_overview#%E8%87%AA%E5%AE%9A%E4%B9%89%E5%AF%B9%E8%B1%A1) - [Introduction to Functional JavaScript](https://medium.com/functional-javascript/introduction-to-functional-javascript-45a9dca6c64a)