文章

JavaScript从零学起1-1

JavaScript从零学起1-1

起因

最近心血来潮想学一门新编程语言 于是我去问了D老师(DeepSeek)

示例 JS好像是一个不错的选择,所以我想先从入门开始学起

学习计划

一下是他给出的建议:

他列出来四个阶段


阶段1:基础语法与DOM操作(周末×4)

  • 目标:掌握变量、函数、条件/循环语句、DOM操作、事件绑定。

阶段2:异步编程与API调用(周末×3)

  • 目标:掌握Promise、async/await、Fetch API。

阶段3:框架与工具(周末×3)

  • 目标:掌握React或Vue框架基础,熟悉npm/webpack。

阶段4:项目实战(周末×4)

  • 目标:完成2-3个完整项目(如个人博客、天气应用)。

开始

第1周:变量、数据类型与基础语法

学习目标

  1. 配置开发环境,安装依赖包。

  2. 理解变量声明(let/const)与作用域。

  3. 掌握基本数据类型(字符串、数字、布尔值、数组、对象)。

  4. 熟悉运算符(算术、比较、逻辑)和类型转换。

GO GO GO

1.开发环境

安装vscood 详见菜鸟教程

然后安装node.js 详见教程

2.变量

推荐一个网站javascript.info

javascript.info | 变量 在网站的变量(Variables)一节中,有详细的介绍 我们可以用let 或老版本中的var来声明变量

1
2
3
4
// 声明变量
let message; 
message = 'Hello!';
alert(message); 
1
2
3
4
5
6
// 声明和赋值可以合并在一起

let name = 'John';
alert(name);// 显示 "John"
name = 'Pete'; // 此处修改了变量的值,从 John 变成了 Pete
alert(name); // 显示 "Pete"

JavaScript 中变量名有两个限制:

1.名称必须只包含字母、数字或符号和. $ _

2.第一个字符不能是数字。

const用来声明常量,即不可变的值。

在python中并没有常量的概念 但我们通常会使用大写来表示一个变量为常量 例如:

1
2
3
4
PI = 3.14 
# 定义 常量PI 的值,但 PI 可变,因为它本身使用一个大写名字的变量
PI = 3.15 
# 不会报错

我不建议在python中改变”常量”的值!

而在JavaScript中我们可以通过 const 来定义一个常量(真·常量)

1
2
const PI = 3.14; // 声明 PI 的值,并且 PI 是不可变的
PI = 3.15; // 报错,因为 PI是不可变的常量

3.数据类型

javascript.info | 数据类型

JavaScript 有八种基本数据类型

  • 数值(number)
  • 大数(bigint)
  • 字符串(string)
  • 布尔值(boolean)
  • null
  • undefined
  • 对象(object)和符号(symbol)
  • 运算符(typeof)

    3.1数值(number)

    number 类型表示整数和浮点数 number可以进行类似 乘法 *,除法 / ,加法 + ,减法 - 的操作 还有一些所谓的“特殊数值”也属于此类数据类型: Infinity(正无穷大) 、 -Infinity (负无穷大) 和 NaN (非数字)

    javascript.info中提到 在JavaScript中,我们可以任意计算,计算它在数学上不成立,但在程序中也不会报错。在最坏的情况下,我们会得到结果。NaN

3.2大数(bigint)

在 JavaScript 中,“number”类型无法安全地表示大于(253-1)[9007199254740991] 的整数和或小于的-(253-1)[-9007199254740991]负数值。因为这会导致精度丢失。 因此我们要用到大数(bigint)

1
2
const bigInt = 1234567890123456789012345678901234567890n;
//我们在数字后面加个n,就表示这是一个bigint类型的数据。

大数很少用到,所以这里不多说了。有需要可以看javascript.info | 大数

字符串(string)

JavaScript 中的字符串必须用引号括起来 在 JavaScript 中,有 3 种类型的引号。

  • 1.双引号: ."Hello"
  • 2.单引号: .'Hello'
  • 3.反引号: .Hello(md语法冲突显示不出来是这个 ` )

布尔值(boolean)

布尔类型只有两个值: 和 true false 分别代表YES(是) 和 NO(否)。

null和undefined

unll是一个比较抽象的概念,它表示没有任何值。 null和undefined都是JavaScript中用来表示没有值 的概念。它们的区别在于:

  • null: 一个对象的属性被删除或从未存在。
  • undefined: 变量声明了但未赋值时的默认值。 javascript.info中对unll有这样的定义:

在 JavaScript 中,不是像其他一些语言那样的 “对不存在对象的引用” 或 “空指针”。null 它只是一个特殊值,表示 “nothing”“empty”“value unknown”。 上面的代码指出 Unknown 未知

undefined: 特殊价值也与众不同。它制作了自己的类型,就像 .undefinednull

的意思是 “value is not assigned”undefined

如果变量已声明但未分配,则其值为 :undefined

对象(object)和符号(symbol)

直接引用一下javascript.info:

类型很特殊。object

所有其他类型都被称为 “primitive”,因为它们的值只能包含一个事物(无论是字符串、数字还是其他任何东西)。相比之下,对象用于存储数据集合和更复杂的实体。

既然如此重要,物品就应该得到特殊对待。我们将在 对象 一章的后面,在我们学习了更多关于原始变量的内容之后,讨论它们。

该类型用于为对象创建唯一标识符。为了完整起见,我们不得不在这里提及它,但也将细节推迟到我们知道对象时。symbol

我目前认为对象是类似与python中的概念 但不知是否正确

运算符(typeof)

typeof像一个查询工具一样,可以用来检查量的类型。

可以使用:

1
2
3
typeof x 
typeof (x)
//typeof(x) 和 typeof x 是等价的  我更喜欢typeof(x),因为括号使代码更加清晰。

总结

学了变量数据类型感觉难度还可以,也有很多与其他语言共通的地方 后面肯定会更难但肯定还是要学的,感觉DeepSeek给的建议还挺好的

有任何问题欢迎指出~

–THE END–

本文由作者按照 CC BY 4.0 进行授权