# 零基础 JavaScript 入门

By [Ada](https://paragraph.com/@ada-3) · 2022-08-25

---

计算机基础导读
-------

### 编程语言

#### 什么是编程语言

1.  编程
    
    *   编程：让计算机为解决某个问题而使用某种程序设计语言编写程序代码，并最终得到结果的过程；
        
    *   计算机程序：计算机所执行的一系列的指令集合，而程序全部都是用我们所掌握的语言来编写的所以人们要控制计算机一定要通过计算机语言向计算机发出指令。
        
        注意：上面所定义的计算机指的是 任何能执行代码的设备，可能是智能手机、ATM机、黑莓 PI、服务器等等
        
2.  计算机语言：
    
    *   用于人与计算机之间通讯的语言，是人与计算机之间传递信息的媒介；
        
    *   三大类：机器语言、汇编语言、高级语言。实际上计算机所执行的都是机器语言，它是由“0”和“1” 组成的二进制数，二进制是计算机语言的基础
        
3.  编程语言
    
    *   通过类似于人类语言的“语言”来控制计算机，让计算机来为我们做事；
        
    *   编程语言是用来控制计算机的一系列指令，有固定的格式和词汇（不同编程语言的格式和词汇不一样），必须遵守；
        
    *   如今，通用的编程语言有两种形式：汇编语言和高级语言。
        
        汇编语言：实质同机器语言，都是直接对硬件操作，只不过指令采用了英文缩写的标识符，容易识别和记忆；
        
        高级语言：主要相对于低级语言而言，并不是一种具体语言，包括多种编程语言，常用：C语言、C++、Java、C#、Python、PHP、JavaScript、Go 语言、Objective-C、Swift 等
        
4.  翻译器 JS——翻译器——机器语言（二进制）
    
    *   高级语言所编制的程序不能直接被计算机识别，必须经过转换才能被执行，为此，需要一个翻译器。由翻译器将编写的源代码转换为机器语言，也被称为二进制化。记住 0、1
        

#### 编程/标记语言区别 （强逻辑性和行为能力/被读取，被动的）

*   编程语言 ：很强逻辑性和行为能力
    
*   标记语言（HTML）：不用于向计算机发出指令，常用语格式化和链接。用来被读取的，是被动的
    

### 计算机基础

#### 计算机组成（硬件+软件）

1.  硬件
    
    *   输入设备：鼠标、键盘、手写板、摄像头等
        
    *   输出设备：显示器、打印机、投影仪等
        
    *   CPU ：负责处理数据与运算
        
    *   硬盘/内存：负责存储数据，硬盘永久存储数据，内存暂时存储数据
        
2.  软件
    
    *   系统软件：Windows、Linux、macOS
        
    *   应用软件：浏览器、VSCode、QQ、Sublime、Word
        

#### 数据存储（0 、1）

*   计算机内部使用二进制 0 、1 来表示数据
    
*   所有数据，含文件、图片等最终都是以二进制数据 0、1 形式存放于硬盘中
    
*   all 程序，including 操作系统，本质是各种数据，也以二进制数据形式存放硬盘，安装软件即把程序文件复制到硬盘中
    
*   硬盘、内存都是保存的二进制数据
    

#### 数据存储单位（bit < byte < kb < GB < TB<...）

*   bit（位）：1 bit 可以保存1个 0 或者 1（最小的存储单位）
    
*   字节（Byte）：1B=8b
    
*   千字节 KB ：1KB=1024B
    
*   兆字节 MB：1MB=1024KB
    
*   吉字节 GB：1GB=1024MB
    
*   太字节 TB：1TB=1024GB
    

#### 程序运行（硬盘—内存条—CPU）

1.  打开程序，先从硬盘中把程序代码加载到内存条
    
2.  CPU 执行内存中代码
    
    *   注意：之所以要内存的一个重要原因，是因为CPU运行太快了，如只从硬盘中读数据，会浪费 CPU 性能，所以才使用存取速度更快的内存来保存运行时的数据。（内存是电，硬盘是机械）

---

*Originally published on [Ada](https://paragraph.com/@ada-3/javascript)*
